## org.biojavax.bio.seq
Interface RichFeature

All Superinterfaces:
  Annotatable, Changeable, Comparable, Feature, FeatureHolder, RankedCrossRefable, RichAnnotatable, RichFeatureRelationshipHolder, StrandedFeature

All Known Implementing Classes:
  SimpleRichFeature

    public interface RichFeature

extends StrandedFeature, RankedCrossRefable, RichAnnotatable, RichFeatureRelationshipHolder, Comparable

Represents a feature that can be given name and rank and be moved from one sequence to another.

Since:
  1.5
Author:
  Richard Holland

Nested Class Summary
`static class` `RichFeature.Template` Added-value extension of Feature.Template including bits we're interested in, eg.
`static class` `RichFeature.Tools` Some useful tools for working with features.

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

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
`static ChangeType` `CROSSREF`
`static ChangeType` `LOCATION`
`static ChangeType` `NAME`
`static ChangeType` `PARENT`
`static ChangeType` `RANK`
`static ChangeType` `RELATION`
`static ChangeType` `SOURCETERM`
`static ChangeType` `TYPETERM`

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

Fields inherited from interface org.biojava.bio.seq.Feature
`byLocationOrder, 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`

Method Summary
`String` `getName()` Returns the name of this feature.
`int` `getRank()` Returns the rank of this feature.
`void` `setName(String name)` Sets the name of this feature.
`void` `setParent(FeatureHolder parent)` Sets the parent of this feature.
`void` `setRank(int rank)` Sets the rank of this feature.

Methods inherited from interface org.biojava.bio.seq.StrandedFeature
`getStrand, getSymbols, setStrand`

Methods inherited from interface org.biojava.bio.seq.Feature
`features, getLocation, getParent, getSequence, getSource, getSourceTerm, getType, getTypeTerm, makeTemplate, 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`

Methods inherited from interface org.biojavax.RankedCrossRefable
`addRankedCrossRef, getRankedCrossRefs, removeRankedCrossRef, setRankedCrossRefs`

Methods inherited from interface org.biojavax.RichAnnotatable
`getNoteSet, getRichAnnotation, setNoteSet`

Methods inherited from interface org.biojavax.bio.seq.RichFeatureRelationshipHolder
`addFeatureRelationship, getFeatureRelationshipSet, removeFeatureRelationship, setFeatureRelationshipSet`

Methods inherited from interface java.lang.Comparable
`compareTo`

Field Detail

### NAME

    static final ChangeType NAME

### RANK

    static final ChangeType RANK

### SOURCETERM

    static final ChangeType SOURCETERM

### TYPETERM

    static final ChangeType TYPETERM

### LOCATION

    static final ChangeType LOCATION

### PARENT

    static final ChangeType PARENT

### CROSSREF

    static final ChangeType CROSSREF

### RELATION

    static final ChangeType RELATION

Method Detail

### setParent

    void setParent(FeatureHolder parent)
                   throws ChangeVetoException

  Sets the parent of this feature.

  Parameters:
    `parent` - the parent the feature should identify itself with.
  Throws:
    `ChangeVetoException` - if the new value is unacceptable.

### getName

    String getName()

  Returns the name of this feature.

  Returns:
    the name.

### setName

    void setName(String name)
                 throws ChangeVetoException

  Sets the name of this feature.

  Parameters:
    `name` - the name the feature should identify itself with.
  Throws:
    `ChangeVetoException` - if the new value is unacceptable.

### getRank

    int getRank()

  Returns the rank of this feature.

  Returns:
    the rank.

### setRank

    void setRank(int rank)
                 throws ChangeVetoException

  Sets the rank of this feature.

  Parameters:
    `rank` - the rank the feature should identify itself with.
  Throws:
    `ChangeVetoException` - if the new value is unacceptable.