|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.biojava.utils.AbstractChangeable
org.biojava.bio.seq.LazyFeatureHolder
Wrapper implementation of FeatureHolder which calls a method to create a contained FeatureHolder on demand. This is an abstract class and is normally used like: FeatureHolder fh = new LazyFeatureHolder() { protected FeatureHolder createFeatureHolder() { SimpleFeatureHolder features = new SimpleFeatureHolder(); // Create some features in here... return features; } } ;
Nested Class Summary |
Nested classes inherited from class org.biojava.bio.seq.FeatureHolder |
FeatureHolder.EmptyFeatureHolder |
Field Summary |
Fields inherited from interface org.biojava.bio.seq.FeatureHolder |
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA |
Constructor Summary | |
protected |
LazyFeatureHolder()
Construct a LazyFeatureHolder with the schema of its contained featureholder |
protected |
LazyFeatureHolder(FeatureFilter schema)
Construct a LazyFeatureHolder with the specified schema |
Method Summary | |
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 template)
Create a new Feature, and add it to this FeatureHolder. |
protected abstract FeatureHolder |
createFeatureHolder()
|
java.util.Iterator |
features()
Iterate over the features in no well defined order. |
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. |
protected void |
flushFeatures()
|
protected ChangeSupport |
getChangeSupport(ChangeType ct)
Called to retrieve the ChangeSupport for this object |
FeatureFilter |
getSchema()
Return a schema-filter for this FeatureHolder . |
void |
removeFeature(Feature f)
Remove a feature from this FeatureHolder. |
Methods inherited from class org.biojava.utils.AbstractChangeable |
addChangeListener, addChangeListener, generateChangeSupport, 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 |
protected LazyFeatureHolder()
protected LazyFeatureHolder(FeatureFilter schema)
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
protected abstract FeatureHolder createFeatureHolder()
protected void flushFeatures()
public java.util.Iterator features()
FeatureHolder
features
in interface FeatureHolder
public int countFeatures()
FeatureHolder
countFeatures
in interface FeatureHolder
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 template) throws BioException, ChangeVetoException
FeatureHolder
createFeature
in interface FeatureHolder
BioException
- if something went wrong during creating the feature
ChangeVetoException
- if this FeatureHolder does not support
creation of new features, or if the change was vetoedpublic 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 boolean containsFeature(Feature f)
FeatureHolder
containsFeature
in interface FeatureHolder
f
- the Feature to check
protected ChangeSupport getChangeSupport(ChangeType ct)
AbstractChangeable
getChangeSupport
in class AbstractChangeable
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |