|
||||||||||
| 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.AbstractFeatureHolder
org.biojava.bio.seq.projection.ProjectedFeatureHolder
public final class ProjectedFeatureHolder
Helper class for projecting Feature objects into an alternative
coordinate system. This class offers a view onto a set of features,
projecting them into a different coordinate system, and also changing
their parent property. The destination coordinate system
can run in the opposite direction from the source, in which case the
strand property of StrandedFeatures is flipped.
The projected features returned by this class are small proxy objects.
Proxy classes are autogenerated on demand for any sub-interface of
Feature by the ProjectionEngine class.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface 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 | |
|---|---|
ProjectedFeatureHolder(ProjectionContext context)
|
|
| 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 templ)
Create a new Feature, and add it to this FeatureHolder. |
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 ChangeEvent |
forwardChangeEvent(ChangeEvent cev)
Called internally to generate a forwarded version of a ChangeEvent from our underlying FeatureHolder |
ProjectionContext |
getContext()
|
FeatureFilter |
getSchema()
Return a schema-filter for this FeatureHolder. |
protected FeatureHolder |
makeProjectionSet(FeatureHolder fh)
Called internally to construct a lightweight projected view of a set of features |
void |
removeFeature(Feature dyingChild)
Remove a feature from this FeatureHolder. |
| Methods inherited from class org.biojava.utils.AbstractChangeable |
|---|
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, 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 |
|---|
public ProjectedFeatureHolder(ProjectionContext context)
| Method Detail |
|---|
public ProjectionContext getContext()
public Iterator features()
FeatureHolder
features in interface FeatureHolderpublic int countFeatures()
FeatureHolder
countFeatures in interface FeatureHolderpublic boolean containsFeature(Feature f)
FeatureHolder
containsFeature in interface FeatureHolderf - the Feature to check
public FeatureHolder filter(FeatureFilter ff)
FeatureHolderFeatureFilter.
filter in interface FeatureHolderfilter in class AbstractFeatureHolderff - the FeatureFilter to apply.
filter.
public FeatureHolder filter(FeatureFilter ff,
boolean recurse)
FeatureHolder
filter in interface FeatureHolderfilter in class AbstractFeatureHolderff - 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 templ)
throws ChangeVetoException,
BioException
FeatureHolder
createFeature in interface FeatureHoldercreateFeature in class AbstractFeatureHolderChangeVetoException - if this FeatureHolder does not support
creation of new features, or if the change was vetoed
BioException - if something went wrong during creating the feature
public void removeFeature(Feature dyingChild)
throws ChangeVetoException,
BioException
FeatureHolder
removeFeature in interface FeatureHolderremoveFeature in class AbstractFeatureHolderChangeVetoException - if this FeatureHolder does not support
feature removal or if the change was vetoed
BioException - if there was an error removing the featurepublic FeatureFilter getSchema()
FeatureHolderFeatureHolder. This is a filter
which all Features 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 FeatureHolderprotected FeatureHolder makeProjectionSet(FeatureHolder fh)
protected ChangeEvent forwardChangeEvent(ChangeEvent cev)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||