Runtime

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

All Superinterfaces:
  IAdaptable

All Known Subinterfaces:
  IHintedType, IMetamodelType, ISpecializationType

All Known Implementing Classes:
  ElementType, MetamodelType, NullElementType, SpecializationType

    public interface IElementType

extends IAdaptable

Interface used to define application-layer types that describe the kinds of elements that can be displayed, created, modified and destroyed. These types extend the types defined for any given metamodel, so that `IElementType` s can be used to distinguish types of elements that share the same metaclass.

Each element type defines how model objects that match its type are to be displayed (by icon URL and display name), as well as how they are to be created, modified and deleted (by edit helper and an accessor for edit commands).

There are two known extensions of `IElementType`. These are `IMetamodelType` and `ISpecializationType`. Each metamodel type maps directly to an EClass. Each specialization type matches a metamodel type with further restrictions expressed in a `IElementMatcher` class.

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

Method Summary
`boolean` `canEdit(IEditCommandRequest req)` Answers whether or not the requested edit can be performed.
`IElementType[]` `getAllSuperTypes()` Gets the element supertypes for this type.
`java.lang.String` `getDisplayName()` Gets the display name.
`org.eclipse.emf.ecore.EClass` `getEClass()` Gets the metaclass for this element type.
`ICommand` `getEditCommand(IEditCommandRequest request)` Gets a command to edit an element of this type.
`IEditHelper` `getEditHelper()` Gets the edit helper for this element type.
`java.net.URL` `getIconURL()` Gets the icon URL.
`java.lang.String` `getId()` Gets the unique identifier for this element type.

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

Method Detail

### getId

    java.lang.String getId()

  Gets the unique identifier for this element type.

  Returns:
    the unique identifier

### getIconURL

    java.net.URL getIconURL()

  Gets the icon URL.

  Returns:
    the icon URL

### getDisplayName

    java.lang.String getDisplayName()

  Gets the display name.

  Returns:
    the display name

### getEClass

    org.eclipse.emf.ecore.EClass getEClass()

  Gets the metaclass for this element type.

  Returns:
    the metaclass

### getEditCommand

    ICommand getEditCommand(IEditCommandRequest request)

  Gets a command to edit an element of this type.

  Parameters:
    `request` - the edit request
  Returns:
    the edit command, or `null` if none is found. The command returned may not be executable, and this should be tested before it is executed.

### canEdit

    boolean canEdit(IEditCommandRequest req)

  Answers whether or not the requested edit can be performed.

  Parameters:
    `req` - the edit request
  Returns:
    `true` if the requested edit can be performed, `false` otherwise.

### getEditHelper

    IEditHelper getEditHelper()

  Gets the edit helper for this element type.

  Returns:
    the edit helper

### getAllSuperTypes

    IElementType[] getAllSuperTypes()

  Gets the element supertypes for this type. Ordered from furthest supertype to nearest supertype.

  Returns:
    the element supertypes

Runtime

Guidelines for using Eclipse APIs.

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