## org.biojava.bio.seq
Interface FeatureTypes.Type

All Superinterfaces:
  Annotatable, Changeable

Enclosing class:
  FeatureTypes

    public static interface FeatureTypes.Type

extends Annotatable

A type of feature.

Since:
  1.3
Author:
  Matthew Pocock

Nested Class Summary

Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
`Annotatable.AnnotationForwarder`

Field Summary

Fields inherited from interface org.biojava.bio.Annotatable
`ANNOTATION`

Method Summary
`String` `getName()` Get the name of this type.
`Set` `getParents()` Get a set of URIs for parent types.
`FeatureFilter` `getSchema()` Get the schema for this type.
`String` `getURI()` Get the URI for this type.

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

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

Method Detail

### getSchema

    FeatureFilter getSchema()

  Get the schema for this type.

  The schema is represented as a FeatureFilter. This will almost certainly be a complext filter using ands and ors to combine multiple constraints. A particular type may chose to restrict any one of the feature's properties, their allowed children and their allowed parents in a feature hierachy, the type of the annotation associated with it and anything else that can be expressed using a feature fitler.

  For a feature to actualy conform to this type, it must be acceptable by the schema filter.

  Returns:
    the schema FeatureFilter

### getName

    String getName()

  Get the name of this type.

  Returns:
    the Type name

### getParents

    Set getParents()

  Get a set of URIs for parent types.

  Returns:
    a Set of all parent URIs

### getURI

    String getURI()

  Get the URI for this type.

  The URI will be composed according to the rules defined in FeatureTypes, being of the form `uri:biojava.org:types:${repository}/${type}`.

  Returns:
    the URI for this type