## org.biojava.ontology
Class OntologyTerm.Impl

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.ontology.OntologyTerm.Impl

All Implemented Interfaces:
  Serializable, Annotatable, OntologyTerm, Term, Changeable

Enclosing interface:
  OntologyTerm

    public static final class OntologyTerm.Impl

extends AbstractChangeable
implements OntologyTerm, Serializable

Simple in-memory implementation of a remote ontology term. This can be used to implement Ontology.importTerm

See Also:
  Serialized Form

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, Object[] synonyms)`

Method Summary
`void` `addSynonym(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.
`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
`Object[]` `getSynonyms()` Return the synonyms for this term.
`Ontology` `getTargetOntology()`
`void` `removeSynonym(Object synonym)` Remove a synonym for this term.
`void` `setDescription(String description)` set the description of the term;
`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,
                             Object[] synonyms)

Method Detail

### addSynonym

    public void addSynonym(Object synonym)

  Description copied from interface: `Term`
  Add a synonym for this term.

  Specified by:
    `addSynonym` in interface `Term`
  Parameters:
    `synonym` - the synonym

### removeSynonym

    public void removeSynonym(Object synonym)

  Description copied from interface: `Term`
  Remove a synonym for this term.

  Specified by:
    `removeSynonym` in interface `Term`

### getSynonyms

    public Object[] getSynonyms()

  Description copied from interface: `Term`
  Return the synonyms for this term.

  Specified by:
    `getSynonyms` in interface `Term`
  Returns:
    the synonyms

### getName

    public String getName()

  Description copied from interface: `Term`
  Return the name of this term.

  Specified by:
    `getName` in interface `Term`
  Returns:
    the name of the 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`
  Returns:
    the description of the term

### setDescription

    public void setDescription(String description)

  Description copied from interface: `Term`
  set the description of the term;

  Specified by:
    `setDescription` 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`
  Returns:
    the ontology

### getTargetOntology

    public Ontology getTargetOntology()

### toString

    public String toString()

  Overrides:
    `toString` in class `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`