org.biojava.ontology
Class OntologyTerm.Impl

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojava.ontology.OntologyTerm.Impl
All Implemented Interfaces:
java.io.Serializable, Annotatable, OntologyTerm, Term, Changeable
Enclosing interface:
OntologyTerm

public static final class OntologyTerm.Impl
extends AbstractChangeable
implements OntologyTerm, java.io.Serializable

Simple in-memory implementation of a remote ontology term.

See Also:
Serialized Form
For developers:
This can be used to implement Ontology.importTerm

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.ontology.OntologyTerm
OntologyTerm.Impl
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
 
Fields inherited from interface org.biojava.ontology.Term
ONTOLOGY
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Constructor Summary
OntologyTerm.Impl(Ontology ontology, Ontology target)
           
OntologyTerm.Impl(Ontology ontology, Ontology target, java.lang.Object[] synonyms)
           
 
Method Summary
 void addSynonym(java.lang.Object synonym)
          Add a synonym for this term.
 Annotation getAnnotation()
          Should return the associated annotation object.
 ChangeSupport getChangeSupport(ChangeType ct)
          Called to retrieve the ChangeSupport for this object.
 java.lang.String getDescription()
          Return a human-readable description of this term, or the empty string if none is available.
 java.lang.String getName()
          Return the name of this term.
 Ontology getOntology()
          Get the remote ontology referenced by this term
 java.lang.Object[] getSynonyms()
          Return the synonyms for this term.
 Ontology getTargetOntology()
           
 void removeSynonym(java.lang.Object synonym)
          Remove a synonym for this term.
 java.lang.String toString()
           
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

OntologyTerm.Impl

public OntologyTerm.Impl(Ontology ontology,
                         Ontology target)

OntologyTerm.Impl

public OntologyTerm.Impl(Ontology ontology,
                         Ontology target,
                         java.lang.Object[] synonyms)
Method Detail

addSynonym

public void addSynonym(java.lang.Object synonym)
Description copied from interface: Term
Add a synonym for this term.

Specified by:
addSynonym in interface Term

removeSynonym

public void removeSynonym(java.lang.Object synonym)
Description copied from interface: Term
Remove a synonym for this term.

Specified by:
removeSynonym in interface Term

getSynonyms

public java.lang.Object[] getSynonyms()
Description copied from interface: Term
Return the synonyms for this term.

Specified by:
getSynonyms in interface Term

getName

public java.lang.String getName()
Description copied from interface: Term
Return the name of this term.

Specified by:
getName in interface Term

getDescription

public java.lang.String getDescription()
Description copied from interface: Term
Return a human-readable description of this term, or the empty string if none is available.

Specified by:
getDescription in interface Term

getOntology

public Ontology getOntology()
Description copied from interface: OntologyTerm
Get the remote ontology referenced by this term

Specified by:
getOntology in interface OntologyTerm
Specified by:
getOntology in interface Term

getTargetOntology

public Ontology getTargetOntology()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getAnnotation

public Annotation getAnnotation()
Description copied from interface: Annotatable
Should return the associated annotation object.

Specified by:
getAnnotation in interface Annotatable
Returns:
an Annotation object, never null

getChangeSupport

public ChangeSupport getChangeSupport(ChangeType ct)
Description copied from class: AbstractChangeable
Called to retrieve the ChangeSupport for this object.

Your implementation of this method should have the following structure:

 ChangeSupport cs = super.getChangeSupport(ct);

 if(someForwarder == null && ct.isMatching(SomeInterface.SomeChangeType)) {
   someForwarder = new ChangeForwarder(...

   this.stateVariable.addChangeListener(someForwarder, VariableInterface.AChange);
 }

 return cs;
 
It is usual for the forwarding listeners (someForwarder in this example) to be transient and lazily instantiated. Be sure to register & unregister the forwarder in the code that does the ChangeEvent handling in setter methods.

Overrides:
getChangeSupport in class AbstractChangeable