4 package eu
.etaxonomy
.taxeditor
.model
;
6 import org
.apache
.commons
.lang
.NotImplementedException
;
8 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTermBase
;
9 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
10 import eu
.etaxonomy
.cdm
.model
.common
.Representation
;
11 import eu
.etaxonomy
.cdm
.model
.common
.TermVocabulary
;
12 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
13 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationship
;
14 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonRelationshipType
;
15 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
19 * @created Nov 30, 2011
23 public class TaxonRelationshipTypeInverseContainer
extends DefinedTermBase
<DefinedTermBase
> {
28 private static final long serialVersionUID
= 7225140304186547675L;
29 private boolean inverse
;
30 private TaxonRelationshipType type
;
38 public static TaxonRelationshipTypeInverseContainer
CreateFromSource(Taxon sourceTaxon
, TaxonRelationship relationship
){
39 return new TaxonRelationshipTypeInverseContainer(relationship
.getType(), isRelationshipInverse(sourceTaxon
, relationship
));
48 public static Taxon
RelatedTaxon(Taxon sourceTaxon
, TaxonRelationship relationship
){
49 return isRelationshipInverse(sourceTaxon
, relationship
) ? relationship
.getFromTaxon() : relationship
.getToTaxon();
58 private static boolean isRelationshipInverse(Taxon sourceTaxon
, TaxonRelationship relationship
){
59 return relationship
.getFromTaxon().equals(sourceTaxon
) ?
false : true;
67 public TaxonRelationshipTypeInverseContainer(TaxonRelationshipType type
, boolean inverse
){
68 this.inverse
= inverse
;
72 public boolean isInverse() {
76 public Representation
getRepresentation(Language language
){
77 return inverse ? type
.getInverseRepresentation(language
) : type
.getRepresentation(language
);
80 public String
getLabel(Language language
){
81 return getRepresentation(language
).getLabel();
84 public String
getDescription(Language language
){
85 return getRepresentation(language
).getDescription();
88 public String
getAbbreviatedLabel(){
89 return getRepresentation(Language
.ENGLISH()).getAbbreviatedLabel();
92 public void setInverse(boolean inverse
) {
93 this.inverse
= inverse
;
96 public TaxonRelationshipType
getType() {
100 public void setType(TaxonRelationshipType type
) {
105 public String
getTitleCache() {
106 return String
.format("%s (%s)", getLabel(CdmStore
.getDefaultLanguage()), getAbbreviatedLabel());
110 public void resetTerms() {
111 throw new NotImplementedException();
115 protected void setDefaultTerms(
116 TermVocabulary
<DefinedTermBase
> termVocabulary
) {
117 throw new NotImplementedException();