org.biojava.ontology
Class OntologyTerm.Impl

java.lang.Object
  extended byorg.biojava.utils.AbstractChangeable
      extended byorg.biojava.ontology.OntologyTerm.Impl
All Implemented Interfaces:
Annotatable, Changeable, OntologyTerm, Serializable, Term
Enclosing class:
OntologyTerm

public static final class OntologyTerm.Impl
extends AbstractChangeable
implements OntologyTerm, 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 inherited from class org.biojava.ontology.OntologyTerm
OntologyTerm.Impl
 
Nested classes inherited from class 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)
           
 
Method Summary
 Annotation getAnnotation()
          Should return the associated annotation object.
 ChangeSupport getChangeSupport(ChangeType ct)
          Called to retrieve the ChangeSupport for this object.
 String getDescription()
          Return a human-readable description of this term, or the empty string if none is available.
 String getName()
          Return the name of this term.
 Ontology getOntology()
          Get the remote ontology referenced by this term
 Ontology getTargetOntology()
           
 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)
Method Detail

getName

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

Specified by:
getName in interface Term

getDescription

public 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

getTargetOntology

public Ontology getTargetOntology()

toString

public String toString()

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