2 * Copyright (C) 2019 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.cdm
.model
.permission
;
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
;
20 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
23 * Base class for persistable authorities.
25 * see https://dev.e-taxonomy.eu/redmine/issues/7099
30 @XmlAccessorType(XmlAccessType
.FIELD
)
31 @XmlType(name
= "AuthorityBase", propOrder
= {
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"})
40 @Inheritance(strategy
=InheritanceType
.SINGLE_TABLE
)
41 public abstract class AuthorityBase
extends CdmBase
{
43 private static final long serialVersionUID
= -3786639494325014624L;
45 // ************* CONSTRUCTOR ********************/
47 //for hibernate use only, *packet* private required by bytebuddy