package eu.etaxonomy.cdm.model.name;
-import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.RelationshipTermBase;
-import org.apache.log4j.Logger;
+import eu.etaxonomy.cdm.model.location.Continent;
+import org.apache.log4j.Logger;
import java.util.*;
+
import javax.persistence.*;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
/**
* http://rs.tdwg.org/ontology/voc/TaxonName.rdf#NomenclaturalNoteTypeTerm
+ * The relationship are to be understood as 'is .... of'. For instance
+ * Linum radiola L. is a replaced synonym of Radiola linoides Roth
+ * or Astragalus rhizanthus Boiss. is a later homonym of
+ * Astragalus rhizanthus Royle.
+ *
* @author m.doering
* @version 1.0
* @created 08-Nov-2007 13:06:38
*/
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
@Entity
-public class NameRelationshipType extends RelationshipTermBase {
+public class NameRelationshipType extends RelationshipTermBase<NameRelationshipType> {
static Logger logger = Logger.getLogger(NameRelationshipType.class);
private static final UUID uuidOrthographicVariant = UUID.fromString("eeaea868-c4c1-497f-b9fe-52c9fc4aca53");
public NameRelationshipType() {
super();
}
- public NameRelationshipType(String term, String label, boolean symmetric, boolean transitive) {
- super(term, label, symmetric, transitive);
- // TODO Auto-generated constructor stub
+
+ public NameRelationshipType(String term, String label, String labelAbbrev, boolean symmetric, boolean transitive) {
+ super(term, label, labelAbbrev, symmetric, transitive);
}
+ public static final NameRelationshipType getByUuid(UUID uuid){
+ return (NameRelationshipType)findByUuid(uuid);
+ }
+
@Transient
public boolean isInvalidType(){
- //TODO: implement isX method. Maybe as persistent class attribute?
- //True, if enum is of type:
- //Invalid,
- //Nudum,
- //Provisional,
- //CombinationInvalid,
- //ValidatedByName,
- //LaterValidatedByName
-
- return false;
+ if (this.equals(VALIDATED_BY_NAME()) ||
+ this.equals(LATER_VALIDATED_BY_NAME())
+ ){
+ return true;
+ }else{
+ return false;
+ }
}
@Transient
public boolean isLegitimateType(){
- //TODO: implement isX method. Maybe as persistent class attribute?
- //True, if enum is of type:
- //Legitimate,
- //Basionym,
- //ReplacedSynonym,
- //Novum,
- //AlternativeName,
- //Alternativ,
- //ConservedAgainst,
- //Conserved,
- //OrthographyConserved,
- //RejectedProp,
- //UtiqueRejectedProp
-
- return false;
+ if (this.equals(BASIONYM()) ||
+ this.equals(REPLACED_SYNONYM()) ||
+ this.equals(ALTERNATIVE_NAME()) ||
+ this.equals(CONSERVED_AGAINST())
+ ){
+ return true;
+ }else{
+ return false;
+ }
}
@Transient
public boolean isIllegitimateType(){
//TODO: implement isX method. Maybe as persistent class attribute?
- //True, if enum is of type:
- //Illegitimate,
- //Superfluous,
- //LaterHomonym,
- //TreatedAsLaterHomonym,
- //RejectedInFavour,
- //Rejected,
- //UtiqueRejected,
- //ConservedProp,
- //OrthographyConservedProp
-
- return false;
+ //TODO: RejectedInFavour,
+ if (this.equals(LATER_HOMONYM()) ||
+ this.equals(TREATED_AS_LATER_HOMONYM())
+ ){
+ return true;
+ }else{
+ return false;
+ }
}
public static final NameRelationshipType ORTHOGRAPHIC_VARIANT(){
- return (NameRelationshipType)findByUuid(uuidOrthographicVariant);
- }
- public static final NameRelationshipType LATER_HOMONYM(){
- return (NameRelationshipType)findByUuid(uuidLaterHomonym);
- }
- public static final NameRelationshipType TREATED_AS_LATER_HOMONYM(){
- return (NameRelationshipType)findByUuid(uuidTreatedAsLaterHomonym);
- }
- public static final NameRelationshipType ALTERNATIVE_NAME(){
- return (NameRelationshipType)findByUuid(uuidAlternativeName);
- }
- public static final NameRelationshipType BASIONYM(){
- return (NameRelationshipType)findByUuid(uuidBasionym);
- }
- public static final NameRelationshipType REPLACED_SYNONYM(){
- return (NameRelationshipType)findByUuid(uuidReplacedSynonym);
- }
- public static final NameRelationshipType CONSERVED_AGAINST(){
- return (NameRelationshipType)findByUuid(uuidConservedAgainst);
- }
- public static final NameRelationshipType VALIDATED_BY_NAME(){
- return (NameRelationshipType)findByUuid(uuidValidatedByName);
- }
- public static final NameRelationshipType LATER_VALIDATED_BY_NAME(){
- return (NameRelationshipType)findByUuid(uuidLaterValidatedByName);
- }
- public static final NameRelationshipType BLOCKING_NAME_FOR(){
- return (NameRelationshipType)findByUuid(uuidBlockingNameFor);
- }
+ return getByUuid(uuidOrthographicVariant);
+ }
+ public static final NameRelationshipType LATER_HOMONYM(){
+ return getByUuid(uuidLaterHomonym);
+ }
+ public static final NameRelationshipType TREATED_AS_LATER_HOMONYM(){
+ return getByUuid(uuidTreatedAsLaterHomonym);
+ }
+ public static final NameRelationshipType ALTERNATIVE_NAME(){
+ return getByUuid(uuidAlternativeName);
+ }
+ public static final NameRelationshipType BASIONYM(){
+ return getByUuid(uuidBasionym);
+ }
+ public static final NameRelationshipType REPLACED_SYNONYM(){
+ return getByUuid(uuidReplacedSynonym);
+ }
+ public static final NameRelationshipType CONSERVED_AGAINST(){
+ return getByUuid(uuidConservedAgainst);
+ }
+ public static final NameRelationshipType VALIDATED_BY_NAME(){
+ return getByUuid(uuidValidatedByName);
+ }
+ public static final NameRelationshipType LATER_VALIDATED_BY_NAME(){
+ return getByUuid(uuidLaterValidatedByName);
+ }
+ public static final NameRelationshipType BLOCKING_NAME_FOR(){
+ return getByUuid(uuidBlockingNameFor);
+ }
}
\ No newline at end of file