## org.biojava.bio.seq.impl
Class SubSequence.SubProjectedFeatureContext

    java.lang.Object
      org.biojava.bio.seq.projection.ReparentContext
          org.biojava.bio.seq.impl.SubSequence.SubProjectedFeatureContext

All Implemented Interfaces:
  Serializable, ProjectionContext

Enclosing class:
  SubSequence

    public static class SubSequence.SubProjectedFeatureContext

extends ReparentContext

TargetContext that implements the mapping between the parent sequence and this sub-sequence.

This context is public because all contexts must be public, and not because it is usefull to you or part of the API. Don't use it directly.

The context extends TranslateFlipContext so that it can translate all features within the parent location to being from index 1 in the projection. It also transforms and reverts locations so that locations falling outside the parent location are trunchated and replaced by fuzzy locations. Lastly, features with fuzzy locations are replaced by RemoteFeature instances.

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

Method Summary
`protected FilterUtils.FilterTransformer` `getReverter()`
`protected FilterUtils.FilterTransformer` `getTransformer()`
`FeatureHolder` `projectChildFeatures(Feature f, FeatureHolder parent)` Project all features that are children of feature so that they become children of parent.
`Feature` `projectFeature(Feature origFeat)` Create a single projected feature using the rules of this `ProjectedFeatureHolder`.
`Location` `projectLocation(Location toTransform)`
`Feature` `revertFeature(Feature projFeat)` Unproject a feature.

Methods inherited from class org.biojava.bio.seq.projection.ReparentContext
`addChangeListener, createFeature, createFeature, getParent, getParent, getSchema, getSequence, getUnprojectedFeatures, projectFeatures, projectFilter, removeChangeListener, removeFeature, removeFeature, revertFilter`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### projectLocation

    public Location projectLocation(Location toTransform)

### projectFeature

    public Feature projectFeature(Feature origFeat)

  Description copied from class: `ReparentContext`
  Create a single projected feature using the rules of this `ProjectedFeatureHolder`.

  Specified by:
    `projectFeature` in interface `ProjectionContext`
  Overrides:
    `projectFeature` in class `ReparentContext`
  Parameters:
    `origFeat` - the Feature to project
  Returns:
    a Feature representing feat after being transformed by this context

### revertFeature

    public Feature revertFeature(Feature projFeat)

  Description copied from interface: `ProjectionContext`
  Unproject a feature.

  This is the inverse opperation to @link projectFeature().

  Note: The result of calling this method for a feature that is not projected through this context is not specified by this API, but it is reasonable to assume that bad things will happen.

  Specified by:
    `revertFeature` in interface `ProjectionContext`
  Overrides:
    `revertFeature` in class `ReparentContext`
  Parameters:
    `projFeat` - the Feature to un-project
  Returns:
    the unprojected feature

### projectChildFeatures

    public FeatureHolder projectChildFeatures(Feature f,
                                              FeatureHolder parent)

  Description copied from interface: `ProjectionContext`
  Project all features that are children of feature so that they become children of parent.

  Specified by:
    `projectChildFeatures` in interface `ProjectionContext`
  Overrides:
    `projectChildFeatures` in class `ReparentContext`
  Parameters:
    `f` - the Feature to project all children of
    `parent` - the new parent feature holder
  Returns:
    a FeatureHolder containing projections of all children of feature so that f.getParent() is equal to parent

### getReverter

    protected FilterUtils.FilterTransformer getReverter()

  Overrides:
    `getReverter` in class `ReparentContext`

### getTransformer

    protected FilterUtils.FilterTransformer getTransformer()

  Overrides:
    `getTransformer` in class `ReparentContext`