## org.biojava.bio.seq
Class SimpleFeatureRealizer

    java.lang.Object
      org.biojava.bio.seq.SimpleFeatureRealizer

All Implemented Interfaces:
  Serializable, FeatureRealizer

    public class SimpleFeatureRealizer

extends Object
implements FeatureRealizer, Serializable

FeatureRealizer which uses a lookup table to map template classes to implementations. Optionally, this implementation can fall back on another FeatureRealizer if it fails.

When searching for a Feature implementation to match a specific Feature.Template class, the following search order is used:

1. Mappings added to this SimpleFeatureRealizer, in reverse order of addition.
2. Any mappings known to the fallback realizer, if one is installed.
3. If no mapping can be found, a BioException is thrown.

Author:
  Thomas Down
See Also:
  Serialized Form

Constructor Summary
`SimpleFeatureRealizer()`
`SimpleFeatureRealizer(FeatureRealizer fallBack)`

Method Summary
`void` `addImplementation(Class template, Class impl)` Install a new mapping from a class of Feature.Template to a class of Feature implementations.
`Feature` `realizeFeature(Sequence seq, FeatureHolder parent, Feature.Template temp)` Install a feature on the specified sequence.

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

Constructor Detail

### SimpleFeatureRealizer

    public SimpleFeatureRealizer()

### SimpleFeatureRealizer

    public SimpleFeatureRealizer(FeatureRealizer fallBack)

Method Detail

### addImplementation

    public void addImplementation(Class template,
                                  Class impl)
                           throws BioException

  Install a new mapping from a class of Feature.Template to a class of Feature implementations. The implementation class MUST have a public constructor of the form (Sequence, FeatureHolder, Feature.Template).

  A newly added implementation takes precendence over any existing implementations if a template can be realized by more than one implementation.

  Parameters:
    `template` - The class of templates to implement.
    `impl` - A class of Feature which can be used to implement these templates.
  Throws:
    `BioException`

### realizeFeature

    public Feature realizeFeature(Sequence seq,
                                  FeatureHolder parent,
                                  Feature.Template temp)
                           throws BioException

  Description copied from interface: `FeatureRealizer`
  Install a feature on the specified sequence.

  Specified by:
    `realizeFeature` in interface `FeatureRealizer`
  Parameters:
    `seq` - The sequence to which the feature will be added.
    `parent` - The FeatureHolder which is to be the Feature's immediate parent.
    `temp` - A description of the desired feature.
  Returns:
    A newly constructed feature, to be added to the sequence.
  Throws:
    `BioException` - If the feature could not be constructed.