## org.eclipse.jst.jsf.metadataprocessors
Class AbstractRootTypeDescriptor

    java.lang.Object
      org.eclipse.jst.jsf.metadataprocessors.AbstractMetaDataEnabledFeature
          org.eclipse.jst.jsf.metadataprocessors.AbstractRootTypeDescriptor

All Implemented Interfaces:
  IMetaDataEnabledFeature, ITypeDescriptor

Direct Known Subclasses:
  AbstractEnumerationType, BindingType, CharacterType, CSSClassType, CSSIdType, CSSStyleType, DateTimePatternType, DefaultTypeDescriptor, NumberPatternType, PathType, ScriptType

    public abstract class AbstractRootTypeDescriptor

extends AbstractMetaDataEnabledFeature
implements ITypeDescriptor

Default implementation that a metadata type should strongly consider for using as it's root. This implementation allows for a class implementing `ITypeDescriptor` to also contain features so that it is not necessary to declare the features using the MetaDataEnabledFeatures ext-pt

Provisional API - subject to change

Constructor Summary
`AbstractRootTypeDescriptor()`

Method Summary
`java.util.List` `getFeatureAdapters(java.lang.Class processingFeature)` Default implementation that will return `this` if it supports the processing feature, and all `IMetaDataEnabledFeature`s that also support this feature on this type.
`IType` `getTypeExtension()`
`void` `setTypeExtension(IType type)`

Methods inherited from class org.eclipse.jst.jsf.metadataprocessors.AbstractMetaDataEnabledFeature
`getMetaDataContext, getStructuredDocumentContext, setMetaDataContext, setStructuredDocumentContext`

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

Constructor Detail

### AbstractRootTypeDescriptor

    public AbstractRootTypeDescriptor()

Method Detail

### getFeatureAdapters

    public java.util.List getFeatureAdapters(java.lang.Class processingFeature)

  Default implementation that will return `this` if it supports the processing feature, and all `IMetaDataEnabledFeature`s that also support this feature on this type. The caller can determine which one or more of the returned processors to use.

  Specified by:
    `getFeatureAdapters` in interface `ITypeDescriptor`
  Parameters:
    `processingFeature` - class
  Returns:
    List of `IMetaDataEnabledFeature`s that support the specified featureType interface.
  See Also:
    `ITypeDescriptor.getFeatureAdapters(java.lang.Class)`

### getTypeExtension

    public IType getTypeExtension()

  Specified by:
    `getTypeExtension` in interface `ITypeDescriptor`
  Returns:
    IType Must not be null

### setTypeExtension

    public void setTypeExtension(IType type)

  Specified by:
    `setTypeExtension` in interface `ITypeDescriptor`
  Parameters:
    `type` - The IType must be set after the ITypeDescriptor is constructed