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
> {
25 private boolean inverse
;
26 private TaxonRelationshipType type
;
34 public static TaxonRelationshipTypeInverseContainer
CreateFromSource(Taxon sourceTaxon
, TaxonRelationship relationship
){
35 return new TaxonRelationshipTypeInverseContainer(relationship
.getType(), isRelationshipInverse(sourceTaxon
, relationship
));
44 public static Taxon
RelatedTaxon(Taxon sourceTaxon
, TaxonRelationship relationship
){
45 return isRelationshipInverse(sourceTaxon
, relationship
) ? relationship
.getFromTaxon() : relationship
.getToTaxon();
54 private static boolean isRelationshipInverse(Taxon sourceTaxon
, TaxonRelationship relationship
){
55 return relationship
.getFromTaxon().equals(sourceTaxon
) ?
false : true;
63 public TaxonRelationshipTypeInverseContainer(TaxonRelationshipType type
, boolean inverse
){
64 this.inverse
= inverse
;
68 public boolean isInverse() {
72 public Representation
getRepresentation(Language language
){
73 return inverse ? type
.getInverseRepresentation(language
) : type
.getRepresentation(language
);
76 public String
getLabel(Language language
){
77 return getRepresentation(language
).getLabel();
80 public String
getDescription(Language language
){
81 return getRepresentation(language
).getDescription();
84 public String
getAbbreviatedLabel(){
85 return getRepresentation(Language
.ENGLISH()).getAbbreviatedLabel();
88 public void setInverse(boolean inverse
) {
89 this.inverse
= inverse
;
92 public TaxonRelationshipType
getType() {
96 public void setType(TaxonRelationshipType type
) {
101 public String
getTitleCache() {
102 return String
.format("%s (%s)", getLabel(CdmStore
.getDefaultLanguage()), getAbbreviatedLabel());
106 public void resetTerms() {
107 throw new NotImplementedException();
111 protected void setDefaultTerms(
112 TermVocabulary
<DefinedTermBase
> termVocabulary
) {
113 throw new NotImplementedException();