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.