FeatureTypes.RepositoryImpl (biojava-legacy 1.9.5 API)
- 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 Constructor Description RepositoryImpl(String name)Create a named repository.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FeatureTypes.TypecreateType(String name, FeatureFilter schema, Set parents)Create a new type in this repository.
AnnotationgetAnnotation()Should return the associated annotation object.
protected ChangeSupportgetChangeSupport(ChangeType ct)Called to retrieve the ChangeSupport for this object.
StringgetName()The name of this repository.
FeatureTypes.TypegetType(String name)Find the type for a name.
SetgetTypes()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 Detail
-
RepositoryImpl
public RepositoryImpl(String name)
Create a named repository.
- Parameters:
name- the name of this repository
-
-
Method Detail
-
getChangeSupport
protected ChangeSupport getChangeSupport(ChangeType ct)
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 & unregister the forwarder in the code that does the ChangeEvent handling in setter methods.ChangeSupport cs = super.getChangeSupport(ct); if(someForwarder == null && ct.isMatching(SomeInterface.SomeChangeType)) { someForwarder = new ChangeForwarder(... this.stateVariable.addChangeListener(someForwarder, VariableInterface.AChange); } return cs;- Overrides:
getChangeSupportin classAbstractChangeable
-
getAnnotation
public Annotation getAnnotation()
Description copied from interface:
AnnotatableShould return the associated annotation object.
- Specified by:
getAnnotationin interfaceAnnotatable- Returns:
- an Annotation object, never null
-
getName
public String getName()
The name of this repository.
This will be the ${repository} component of any URIs of types defined here.
- Specified by:
getNamein interfaceFeatureTypes.Repository- Returns:
- the name of the repository
-
getTypes
public Set getTypes()
Get a set of all type names defined in this repository.
- Specified by:
getTypesin interfaceFeatureTypes.Repository- Returns:
- a Set of Type names as Strings
-
getType
public FeatureTypes.Type getType(String name) throws NoSuchElementException
Find the type for a name.
- Specified by:
getTypein 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
public FeatureTypes.Type createType(String name, FeatureFilter schema, Set parents)
Create a new type in this repository.
- Parameters:
name- the Type nameschema- the FeatureFilter defining the typeparents- the Set (possibly empty) of parent URIs
-
-