Package org.biojava.bio.seq
Class FeatureTypes.RepositoryImpl
java.lang.Object
org.biojava.utils.AbstractChangeable
org.biojava.bio.seq.FeatureTypes.RepositoryImpl
- All Implemented Interfaces:
Annotatable
,FeatureTypes.Repository
,Changeable
- Enclosing class:
FeatureTypes
public static class FeatureTypes.RepositoryImpl
extends AbstractChangeable
implements FeatureTypes.Repository
A simple implementation of a Repository.
- Since:
- 1.3
- Author:
- Matthew Pocock
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
-
Field Summary
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateType
(String name, FeatureFilter schema, Set parents) Create a new type in this repository.Should return the associated annotation object.protected ChangeSupport
Called to retrieve the ChangeSupport for this object.getName()
The name of this repository.Find the type for a name.getTypes()
Get a set of all type names defined in this repository.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, toString, wait, wait, wait
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
-
Constructor Details
-
RepositoryImpl
Create a named repository.- Parameters:
name
- the name of this repository
-
-
Method Details
-
getChangeSupport
Description copied from class:AbstractChangeable
Called to retrieve the ChangeSupport for this object.Your implementation of this method should have the following structure:
It is usual for the forwarding listeners (someForwarder in this example) to be transient and lazily instantiated. Be sure to register invalid input: '&' unregister the forwarder in the code that does the ChangeEvent handling in setter methods.ChangeSupport cs = super.getChangeSupport(ct); if(someForwarder == null invalid input: '&'invalid input: '&' ct.isMatching(SomeInterface.SomeChangeType)) { someForwarder = new ChangeForwarder(... this.stateVariable.addChangeListener(someForwarder, VariableInterface.AChange); } return cs;
- Overrides:
getChangeSupport
in classAbstractChangeable
-
getAnnotation
Description copied from interface:Annotatable
Should return the associated annotation object.- Specified by:
getAnnotation
in interfaceAnnotatable
- Returns:
- an Annotation object, never null
-
getName
Description copied from interface:FeatureTypes.Repository
The name of this repository.
This will be the ${repository} component of any URIs of types defined here.
- Specified by:
getName
in interfaceFeatureTypes.Repository
- Returns:
- the name of the repository
-
getTypes
Description copied from interface:FeatureTypes.Repository
Get a set of all type names defined in this repository.- Specified by:
getTypes
in interfaceFeatureTypes.Repository
- Returns:
- a Set of Type names as Strings
-
getType
Description copied from interface:FeatureTypes.Repository
Find the type for a name.- Specified by:
getType
in interfaceFeatureTypes.Repository
- Parameters:
name
- the name of the Type- Returns:
- the Type of that name
- Throws:
NoSuchElementException
- if that type can not be found
-
createType
Create a new type in this repository.- Parameters:
name
- the Type nameschema
- the FeatureFilter defining the typeparents
- the Set (possibly empty) of parent URIs
-