|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.biojava.bio.seq.projection.ProjectedFeature
Internal class used by ProjectionEngine to wrap Feature objects.
Nested Class Summary |
Nested classes inherited from class org.biojava.bio.seq.Feature |
Feature.ByLocationComparator, Feature.Template |
Nested classes inherited from class org.biojava.bio.seq.FeatureHolder |
FeatureHolder.EmptyFeatureHolder |
Nested classes inherited from class org.biojava.bio.Annotatable |
Annotatable.AnnotationForwarder |
Field Summary |
Fields inherited from interface org.biojava.bio.seq.Feature |
byLocationOrder, LOCATION, PROPERTY_DATA_KEY, SOURCE, TYPE |
Fields inherited from interface org.biojava.bio.seq.FeatureHolder |
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA |
Fields inherited from interface org.biojava.bio.Annotatable |
ANNOTATION |
Constructor Summary | |
ProjectedFeature(Feature f,
ProjectionContext ctx)
|
Method Summary | |
void |
addChangeListener(ChangeListener cl)
Add a listener that will be informed of all changes. |
void |
addChangeListener(ChangeListener cl,
ChangeType ct)
Add a listener that will be informed of changes of a given type. |
boolean |
containsFeature(Feature f)
Check if the feature is present in this holder. |
int |
countFeatures()
Count how many features are contained. |
Feature |
createFeature(Feature.Template temp)
Create a new Feature, and add it to this FeatureHolder. |
boolean |
equals(java.lang.Object o)
|
java.util.Iterator |
features()
Iterate over any child features which are held by this feature. |
FeatureHolder |
filter(FeatureFilter ff)
Query this set of features using a supplied FeatureFilter . |
FeatureHolder |
filter(FeatureFilter ff,
boolean recurse)
Return a new FeatureHolder that contains all of the children of this one that passed the filter fc. |
Annotation |
getAnnotation()
Should return the associated annotation object. |
Location |
getLocation()
The location of this feature. |
FeatureHolder |
getParent()
Return the FeatureHolder to which this feature has been
attached. |
protected FeatureHolder |
getProjectedFeatures()
|
ProjectionContext |
getProjectionContext()
|
FeatureFilter |
getSchema()
Return a schema-filter for this FeatureHolder . |
Sequence |
getSequence()
Return the Sequence object to which this feature
is (ultimately) attached. |
java.lang.String |
getSource()
The source of the feature. |
SymbolList |
getSymbols()
Return a list of symbols that are contained in this feature. |
java.lang.String |
getType()
The type of the feature. |
Feature |
getViewedFeature()
|
int |
hashCode()
|
boolean |
isUnchanging(ChangeType ct)
A particular ChangeType can never be raised by this Changeable. |
Feature.Template |
makeTemplate()
Create a new Template that could be used to generate a feature identical to this one. |
void |
removeChangeListener(ChangeListener cl)
Remove a listener that was interested in all types of changes. |
void |
removeChangeListener(ChangeListener cl,
ChangeType ct)
Remove a listener that was interested in a specific types of changes. |
void |
removeFeature(Feature f)
Remove a feature from this FeatureHolder. |
void |
setLocation(Location loc)
The new location for this feature. |
void |
setSource(java.lang.String source)
Change the source of the Feature. |
void |
setType(java.lang.String type)
Change the type of this feature. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ProjectedFeature(Feature f, ProjectionContext ctx)
Method Detail |
public FeatureFilter getSchema()
FeatureHolder
FeatureHolder
. This is a filter
which all Feature
s immediately contained by this FeatureHolder
will match. It need not directly match their child features, but it can (and should!) provide
information about them using FeatureFilter.OnlyChildren
filters. In cases where there
is no feature hierarchy, this can be indicated by including FeatureFilter.leaf
in
the schema filter.
For the truly non-informative case, it is possible to return FeatureFilter.all
. However,
it is almost always possible to provide slightly more information that this. For example, Sequence
objects should, at a minimum, return FeatureFilter.top_level
. Feature
objects
should, as a minimum, return FeatureFilter.ByParent(new FeatureFilter.ByFeature(this))
.
getSchema
in interface FeatureHolder
public Feature getViewedFeature()
getViewedFeature
in interface Projection
public ProjectionContext getProjectionContext()
getProjectionContext
in interface Projection
public Feature.Template makeTemplate()
Feature
makeTemplate
in interface Feature
public Location getLocation()
Feature
The location may be complicated, or simply a range. The annotation is assumed to apply to all the region contained within the location.
getLocation
in interface Feature
public void setLocation(Location loc) throws ChangeVetoException
Feature
The location may be complicated or simply a range. The annotation is assumed to apply to the entire region contained within the location. Any values returned from methods that rely on the old location must not be affected.
setLocation
in interface Feature
loc
- the new Location for this feature
ChangeVetoException
- if the location can't be alteredpublic FeatureHolder getParent()
Feature
FeatureHolder
to which this feature has been
attached. This will be a Sequence
object for top level
features, and a Feature
object for features further
down the tree.
getParent
in interface Feature
public Sequence getSequence()
Feature
Sequence
object to which this feature
is (ultimately) attached. For top level features, this will be
equal to the FeatureHolder
returned by
getParent
.
getSequence
in interface Feature
public java.lang.String getType()
Feature
getType
in interface Feature
public void setType(java.lang.String type) throws ChangeVetoException
Feature
setType
in interface Feature
ChangeVetoException
- if the type can't be alteredpublic java.lang.String getSource()
Feature
getSource
in interface Feature
public void setSource(java.lang.String source) throws ChangeVetoException
Feature
setSource
in interface Feature
source
- the new source String
ChangeVetoException
- if the source can't be alteredpublic Annotation getAnnotation()
Annotatable
getAnnotation
in interface Annotatable
public SymbolList getSymbols()
Feature
The symbols may not be contiguous in the original sequence, but they will be concatenated together in the resulting SymbolList.
The order of the Symbols within the resulting symbol list will be according to the concept of ordering within the location object.
If the feature location is modified then this does not modify any SymbolList produced by earlier invocations of this method.
getSymbols
in interface Feature
public int countFeatures()
FeatureHolder
countFeatures
in interface FeatureHolder
public boolean containsFeature(Feature f)
FeatureHolder
containsFeature
in interface FeatureHolder
f
- the Feature to check
protected FeatureHolder getProjectedFeatures()
public java.util.Iterator features()
Feature
features
in interface Feature
public FeatureHolder filter(FeatureFilter ff)
FeatureHolder
FeatureFilter
.
filter
in interface FeatureHolder
ff
- the FeatureFilter
to apply.
filter
.public FeatureHolder filter(FeatureFilter ff, boolean recurse)
FeatureHolder
filter
in interface FeatureHolder
ff
- the FeatureFilter to applyrecurse
- true if all features-of-features should be scanned, and a
single flat collection of features returned, or false if
just immediate children should be filtered.public Feature createFeature(Feature.Template temp) throws ChangeVetoException, BioException
FeatureHolder
createFeature
in interface FeatureHolder
ChangeVetoException
- if this FeatureHolder does not support
creation of new features, or if the change was vetoed
BioException
- if something went wrong during creating the featurepublic void removeFeature(Feature f) throws ChangeVetoException
FeatureHolder
removeFeature
in interface FeatureHolder
ChangeVetoException
- if this FeatureHolder does not support
feature removal or if the change was vetoedpublic int hashCode()
public boolean equals(java.lang.Object o)
public void addChangeListener(ChangeListener cl)
Changeable
addChangeListener
in interface Changeable
cl
- the ChangeListener to addpublic void removeChangeListener(ChangeListener cl)
Changeable
removeChangeListener
in interface Changeable
cl
- a ChangeListener to removepublic void addChangeListener(ChangeListener cl, ChangeType ct)
Changeable
addChangeListener
in interface Changeable
cl
- the ChangeListenerct
- the ChangeType it is to be informed ofpublic void removeChangeListener(ChangeListener cl, ChangeType ct)
Changeable
removeChangeListener
in interface Changeable
cl
- a ChangeListener to removect
- the ChangeType that it was interested inpublic boolean isUnchanging(ChangeType ct)
Changeable
A particular ChangeType can never be raised by this Changeable.
If this returns true, then it is guaranteed that change events of this type (and all child types) can never under any circumstances be fired by this Changeable instance. If it returns false, that does not mean that this type of event will or even can be raised, but that it is worth registering listeners incase.
isUnchanging
in interface Changeable
ct
- the ChangeType to check
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |