|
||||||||||
| 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.impl.SimpleFeature
public class SimpleFeature
A no-frills implementation of a feature.
SimpleRichFeature,
Serialized Form| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.biojava.bio.seq.Feature |
|---|
Feature.ByLocationComparator, Feature.Template |
| Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureHolder |
|---|
FeatureHolder.EmptyFeatureHolder |
| Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable |
|---|
Annotatable.AnnotationForwarder |
| Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureHolder |
|---|
FeatureHolder.EmptyFeatureHolder |
| Field Summary |
|---|
| Fields inherited from interface org.biojava.bio.seq.Feature |
|---|
byLocationOrder, LOCATION, PROPERTY_DATA_KEY, SOURCE, SOURCETERM, TYPE, TYPETERM |
| Fields inherited from interface org.biojava.bio.seq.FeatureHolder |
|---|
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA |
| Fields inherited from interface org.biojava.bio.Annotatable |
|---|
ANNOTATION |
| Fields inherited from interface org.biojava.bio.seq.FeatureHolder |
|---|
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA |
| Constructor Summary | |
|---|---|
SimpleFeature(Sequence sourceSeq,
FeatureHolder parent,
Feature.Template template)
Create a SimpleFeature on the given sequence. |
|
| 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 temp)
Create a new Feature, and add it to this FeatureHolder. |
boolean |
equals(Object o)
|
protected boolean |
featureHolderAllocated()
A utility function to find out if the feature holder delegate has been instantiated yet. |
Iterator |
features()
Iterate over any child features which are held by this feature. |
protected void |
fillTemplate(Feature.Template ft)
|
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. |
protected ChangeSupport |
getChangeSupport(ChangeType ct)
Called to retrieve the ChangeSupport for this object. |
protected SimpleFeatureHolder |
getFeatureHolder()
A utility function to retrieve the feature holder delegate, creating it if necessary. |
Location |
getLocation()
The location of this feature. |
FeatureHolder |
getParent()
Return the FeatureHolder to which this feature has been
attached. |
FeatureFilter |
getSchema()
Return a schema-filter for this FeatureHolder. |
Sequence |
getSequence()
Return the Sequence object to which this feature
is (ultimately) attached. |
String |
getSource()
The source of the feature. |
Term |
getSourceTerm()
An ontology term defining the source of this feature. |
SymbolList |
getSymbols()
Return a list of symbols that are contained in this feature. |
String |
getType()
The type of the feature. |
Term |
getTypeTerm()
An ontology term defining the type of feature. |
int |
hashCode()
|
Feature.Template |
makeTemplate()
Create a new Template that could be used to generate a feature identical to this one. |
Feature |
realizeFeature(FeatureHolder fh,
Feature.Template templ)
Realize a feature template. |
void |
removeFeature(Feature f)
Remove a feature from this FeatureHolder. |
void |
setLocation(Location loc)
The new location for this feature. |
void |
setSource(String source)
Change the source of the Feature. |
void |
setSourceTerm(Term t)
Set the source ontology-term for this feature. |
void |
setType(String type)
Change the type of this feature. |
void |
setTypeTerm(Term t)
Set the type ontology-term for this feature. |
String |
toString()
|
| Methods inherited from class org.biojava.utils.AbstractChangeable |
|---|
addChangeListener, addChangeListener, generateChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.biojava.utils.Changeable |
|---|
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener |
| Methods inherited from interface org.biojava.utils.Changeable |
|---|
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener |
| Methods inherited from interface org.biojava.utils.Changeable |
|---|
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener |
| Constructor Detail |
|---|
public SimpleFeature(Sequence sourceSeq,
FeatureHolder parent,
Feature.Template template)
SimpleFeature on the given sequence.
The feature is created underneath the parent FeatureHolder
and populated directly from the template fields. However,
if the template annotation is the Annotation.EMPTY_ANNOTATION,
an empty SimpleAnnotation is attached to the feature instead.
sourceSeq - the source sequenceparent - the parent sequence or featuretemplate - the template for the feature| Method Detail |
|---|
protected SimpleFeatureHolder getFeatureHolder()
protected boolean featureHolderAllocated()
protected ChangeSupport getChangeSupport(ChangeType ct)
AbstractChangeable
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;
getChangeSupport in class AbstractChangeablepublic Location getLocation()
FeatureThe 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
FeatureThe 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 Featureloc - the new Location for this feature
ChangeVetoException - if the location can't be alteredpublic Term getTypeTerm()
FeatureOntoTools.ANY
in implementations which aren't ontology aware.
getTypeTerm in interface Featurepublic String getType()
Feature
getType in interface Feature
public void setType(String type)
throws ChangeVetoException
Feature
setType in interface Featuretype - new type String
ChangeVetoException - if the type can't be altered
public void setTypeTerm(Term t)
throws ChangeVetoException
Feature
setTypeTerm in interface FeatureChangeVetoException - if changes are not allowedpublic String getSource()
Feature
getSource in interface Featurepublic Term getSourceTerm()
FeatureOntoTools.ANY
in implementations which aren't ontology aware.
getSourceTerm in interface Featurepublic FeatureHolder getParent()
FeatureFeatureHolder 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 void setSource(String source)
throws ChangeVetoException
Feature
setSource in interface Featuresource - the new source String
ChangeVetoException - if the source can't be altered
public void setSourceTerm(Term t)
throws ChangeVetoException
Feature
setSourceTerm in interface FeatureChangeVetoException - if changes are not allowedpublic Sequence getSequence()
FeatureSequence 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 Featurepublic Annotation getAnnotation()
Annotatable
getAnnotation in interface Annotatablepublic SymbolList getSymbols()
FeatureThe 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 Featurepublic int countFeatures()
FeatureHolder
countFeatures in interface FeatureHolderpublic Iterator features()
Feature
features in interface Featurefeatures in interface FeatureHolder
public void removeFeature(Feature f)
throws ChangeVetoException
FeatureHolder
removeFeature in interface FeatureHolderChangeVetoException - if this FeatureHolder does not support
feature removal or if the change was vetoedpublic boolean containsFeature(Feature f)
FeatureHolder
containsFeature in interface FeatureHolderf - the Feature to check
public FeatureHolder filter(FeatureFilter ff)
FeatureHolderFeatureFilter.
filter in interface FeatureHolderff - the FeatureFilter to apply.
filter.
public FeatureHolder filter(FeatureFilter ff,
boolean recurse)
FeatureHolder
filter in interface FeatureHolderff - 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.Template makeTemplate()
Feature
makeTemplate in interface Featureprotected void fillTemplate(Feature.Template ft)
public String toString()
toString in class Object
public Feature realizeFeature(FeatureHolder fh,
Feature.Template templ)
throws BioException
RealizingFeatureHoldercreateFeature method of either
this FeatureHolder or one of our child Features.
realizeFeature in interface RealizingFeatureHolderBioException
public Feature createFeature(Feature.Template temp)
throws BioException,
ChangeVetoException
FeatureHolder
createFeature in interface FeatureHolderBioException - 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 int hashCode()
hashCode in class Objectpublic boolean equals(Object o)
equals in class Objectpublic 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 FeatureHolder
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||