## org.biojava.bio.seq.impl
Class SimpleStrandedFeature

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.bio.seq.impl.SimpleFeature
              org.biojava.bio.seq.impl.SimpleStrandedFeature

All Implemented Interfaces:
  Serializable, Annotatable, Feature, FeatureHolder, RealizingFeatureHolder, StrandedFeature, Changeable

Direct Known Subclasses:
  SimpleFramedFeature, SimpleHomologyFeature, SimpleRemoteFeature, SimpleRestrictionSite, SimpleSimilarityPairFeature

    public class SimpleStrandedFeature

extends SimpleFeature
implements StrandedFeature

A no-frills implementation of StrandedFeature.

Author:
  Matthew Pocock, Thomas Down
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface org.biojava.bio.seq.StrandedFeature
`StrandedFeature.Strand, StrandedFeature.Template`

Nested classes/interfaces inherited from interface org.biojava.bio.seq.Feature
`Feature.ByLocationComparator`

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`

Field Summary

Fields inherited from interface org.biojava.bio.seq.StrandedFeature
`NEGATIVE, POSITIVE, STRAND, UNKNOWN`

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`

Constructor Summary
`SimpleStrandedFeature(Sequence sourceSeq, FeatureHolder parent, StrandedFeature.Template template)`

Method Summary
`protected void` `fillTemplate(StrandedFeature.Template ft)`
`StrandedFeature.Strand` `getStrand()` Retrieve the strand that this feature lies upon.
`SymbolList` `getSymbols()` Return a list of symbols that are contained in this feature.
`Feature.Template` `makeTemplate()` Create a new Template that could be used to generate a feature identical to this one.
`void` `setStrand(StrandedFeature.Strand strand)` Set the strand that this feature lies upon.
`String` `toString()`

Methods inherited from class org.biojava.bio.seq.impl.SimpleFeature
`containsFeature, countFeatures, createFeature, equals, featureHolderAllocated, features, fillTemplate, filter, filter, getAnnotation, getChangeSupport, getFeatureHolder, getLocation, getParent, getSchema, getSequence, getSource, getSourceTerm, getType, getTypeTerm, hashCode, realizeFeature, removeFeature, setLocation, setSource, setSourceTerm, setType, setTypeTerm`

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.bio.seq.Feature
`features, getLocation, getParent, getSequence, getSource, getSourceTerm, getType, getTypeTerm, setLocation, setSource, setSourceTerm, setType, setTypeTerm`

Methods inherited from interface org.biojava.bio.seq.FeatureHolder
`containsFeature, countFeatures, createFeature, filter, filter, getSchema, removeFeature`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from interface org.biojava.bio.Annotatable
`getAnnotation`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Constructor Detail

### SimpleStrandedFeature

    public SimpleStrandedFeature(Sequence sourceSeq,
                                 FeatureHolder parent,
                                 StrandedFeature.Template template)
                          throws IllegalArgumentException

Throws:
  `IllegalArgumentException`

Method Detail

### getStrand

    public StrandedFeature.Strand getStrand()

  Description copied from interface: `StrandedFeature`
  Retrieve the strand that this feature lies upon.

  This will be one of StrandedFeature.POSITIVE or NEGATIVE.

  Specified by:
    `getStrand` in interface `StrandedFeature`
  Returns:
    one of the Strand constants

### getSymbols

    public SymbolList getSymbols()

  Description copied from interface: `Feature`
  Return a list of symbols that are contained in this 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.

  Specified by:
    `getSymbols` in interface `Feature`
  Specified by:
    `getSymbols` in interface `StrandedFeature`
  Overrides:
    `getSymbols` in class `SimpleFeature`
  Returns:
    a SymbolList containing each symbol of the parent sequence contained within this feature in the order they appear in the parent

### setStrand

    public void setStrand(StrandedFeature.Strand strand)
                   throws ChangeVetoException

  Description copied from interface: `StrandedFeature`
  Set the strand that this feature lies upon.

  This will be one of StrandedFeature.POSITIVE or NEGATIVE.

  Specified by:
    `setStrand` in interface `StrandedFeature`
  Parameters:
    `strand` - a `Strand`.
  Throws:
    `ChangeVetoException` - if the strand may not be changed.

### makeTemplate

    public Feature.Template makeTemplate()

  Description copied from interface: `Feature`
  Create a new Template that could be used to generate a feature identical to this one. The fields of the template can be edited without changing the feature.

  Specified by:
    `makeTemplate` in interface `Feature`
  Overrides:
    `makeTemplate` in class `SimpleFeature`
  Returns:
    a new Template that would make a feature like this one

### fillTemplate

    protected void fillTemplate(StrandedFeature.Template ft)

### toString

    public String toString()

  Overrides:
    `toString` in class `SimpleFeature`