Runtime

## org.eclipse.gmf.runtime.emf.type.core
Interface ISpecializationType

All Superinterfaces:
  IAdaptable, IElementType

All Known Implementing Classes:
  SpecializationType

    public interface ISpecializationType

extends IElementType

Interface used to define application-layer types that describe a specialization of a metamodel type. The specifics of the specialization are expressed in a `IElementMatcher` class and an `IContainerDescriptor`.

Specializations can contribute 'before' and 'after' editing behaviour to their metamodel type's default behaviour using `IEditHelperAdvice`.

Clients should not implement this interface directly, but should extend the abstract implementation `SpecializationType` instead.

Method Summary
`IContainerDescriptor` `getEContainerDescriptor()` Gets the container descriptor.
`IEditHelperAdvice` `getEditHelperAdvice()` Gets my edit helper advice.
`IElementMatcher` `getMatcher()` Gets the element matcher.
`IMetamodelType` `getMetamodelType()` Gets the metamodel type that this type is a specialization of.
`java.lang.String[]` `getSpecializedTypeIds()` Gets the IDs of the specialized types.
`IElementType[]` `getSpecializedTypes()` Gets the element types that this type specializes.
`boolean` `isSpecializationOf(IElementType type)` Answers whether or not I am a specialization of `type`.

Methods inherited from interface org.eclipse.gmf.runtime.emf.type.core.IElementType
`canEdit, getAllSuperTypes, getDisplayName, getEClass, getEditCommand, getEditHelper, getIconURL, getId`

Methods inherited from interface org.eclipse.core.runtime.IAdaptable
`getAdapter`

Method Detail

### getEContainerDescriptor

    IContainerDescriptor getEContainerDescriptor()

  Gets the container descriptor.

  Returns:
    the container descriptor.

### getMatcher

    IElementMatcher getMatcher()

  Gets the element matcher.

  Returns:
    the element matcher.

### getSpecializedTypes

    IElementType[] getSpecializedTypes()

  Gets the element types that this type specializes.

  Returns:
    an array of types that are specialized by this type.

### getSpecializedTypeIds

    java.lang.String[] getSpecializedTypeIds()

  Gets the IDs of the specialized types.

  Returns:
    the IDs of the specialized types

### isSpecializationOf

    boolean isSpecializationOf(IElementType type)

  Answers whether or not I am a specialization of `type`.

  Parameters:
    `type` - the type to be tested
  Returns:
    `true` if I am a specialization of `type`, `false` otherwise.

### getEditHelperAdvice

    IEditHelperAdvice getEditHelperAdvice()

  Gets my edit helper advice. The advice can return 'before' or 'after' editing commands for editing elements of the types that I specialize.

  Returns:
    the edit helper advice.

### getMetamodelType

    IMetamodelType getMetamodelType()

  Gets the metamodel type that this type is a specialization of. This type may be a direct specialization of the metamodel type, or indirect through other specializations. It can specialize any number of other specializations, so long as they in turn all specialize the same metamodel type.

  Returns:
    the metamodel type that I specialize

Runtime

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.