add DerivationEvent to PermissionClass
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / permission / AuthorityBase.java
1 /**
2 * Copyright (C) 2019 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.cdm.model.permission;
10
11 import javax.persistence.Entity;
12 import javax.persistence.Inheritance;
13 import javax.persistence.InheritanceType;
14 import javax.persistence.Table;
15 import javax.xml.bind.annotation.XmlAccessType;
16 import javax.xml.bind.annotation.XmlAccessorType;
17 import javax.xml.bind.annotation.XmlRootElement;
18 import javax.xml.bind.annotation.XmlType;
19
20 import eu.etaxonomy.cdm.model.common.CdmBase;
21
22 /**
23 * Base class for persistable authorities.
24 *
25 * see https://dev.e-taxonomy.eu/redmine/issues/7099
26 *
27 * @author a.mueller
28 * @since 09.08.2019
29 */
30 @XmlAccessorType(XmlAccessType.FIELD)
31 @XmlType(name = "AuthorityBase", propOrder = {
32 }
33 )
34 @XmlRootElement(name = "Authority")
35 @Table(name="Authority"
36 //for some reason this does not work, see comment #8464#note-6
37 // ,uniqueConstraints=@UniqueConstraint(columnNames={"property","permissionClass","targetUuid","operations"})
38 )
39 @Entity
40 @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
41 public abstract class AuthorityBase extends CdmBase{
42
43 private static final long serialVersionUID = -3786639494325014624L;
44
45 // ************* CONSTRUCTOR ********************/
46
47 //for hibernate use only, *packet* private required by bytebuddy
48 @Deprecated
49 AuthorityBase() {}
50 }