Project

General

Profile

Download (2.79 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2021 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.term;
10

    
11
import javax.persistence.Entity;
12
import javax.xml.bind.annotation.XmlElement;
13

    
14
import org.apache.logging.log4j.LogManager;
15
import org.apache.logging.log4j.Logger;
16
import org.hibernate.envers.Audited;
17

    
18
import eu.etaxonomy.cdm.model.common.CdmClass;
19
import eu.etaxonomy.cdm.model.name.TaxonName;
20
import eu.etaxonomy.cdm.model.taxon.Taxon;
21

    
22
/**
23
 * This
24
 *
25
 * @author a.mueller
26
 * @since 22.04.2021
27
 */
28
@Entity
29
@Audited
30
public abstract class AvailableForIdentifiableBase<T extends DefinedTermBase>
31
        extends AvailableForTermBase<T>{
32

    
33
    private static final long serialVersionUID = -8671887501681406910L;
34
    @SuppressWarnings("unused")
35
    private static final Logger logger = LogManager.getLogger(AvailableForIdentifiableBase.class);
36

    
37
    //for hibernate use only, *packet* private required by bytebuddy
38
    @Deprecated
39
    AvailableForIdentifiableBase() {}
40
    @Deprecated
41
    protected AvailableForIdentifiableBase(TermType type) {
42
        super(type);
43
    }
44

    
45
    protected AvailableForIdentifiableBase(TermType type, String term, String label, String labelAbbrev) {
46
        super(type, term, label, labelAbbrev);
47
    }
48

    
49
// ****************************** GETTER_SETTER *******************************/
50

    
51
    /**
52
     * Whether this supplement is available for {@link TaxonName taxon names}.
53
     */
54
    @XmlElement(name = "AvailableForTaxonName")
55
    public boolean isAvailableForTaxonName() {
56
        return getAvailableFor().contains(CdmClass.TAXON_NAME);
57
    }
58
    /**
59
     * @see #isAvailableForTaxon()
60
     */
61
    public void setAvailableForTaxonName(boolean availableForTaxonName) {
62
        setAvailableFor(CdmClass.TAXON_NAME, availableForTaxonName);
63
    }
64

    
65
    /**
66
     * Whether this supplement is available for {@link Taxon taxa}.
67
     */
68
    @XmlElement(name = "AvailableForTaxon")
69
    public boolean isAvailableForTaxon() {
70
        return getAvailableFor().contains(CdmClass.TAXON);
71
    }
72
    /**
73
     * @see #isAvailableForTaxon()
74
     */
75
    public void setAvailableForTaxon(boolean availableForTaxon) {
76
        setAvailableFor(CdmClass.TAXON, availableForTaxon);
77
    }
78

    
79
    /**
80
     * Whether this supplement is available for {@link Reference references}.
81
     */
82
    @XmlElement(name = "AvailableForReference")
83
    public boolean isAvailableForReference() {
84
        return getAvailableFor().contains(CdmClass.REFERENCE);
85
    }
86
    /**
87
     * @see #isAvailableForReference()
88
     */
89
    public void setAvailableForReference(boolean availableForReference) {
90
        setAvailableFor(CdmClass.REFERENCE, availableForReference);
91
    }
92

    
93

    
94
}
(1-1/32)