org.eclipse.graphiti.features

## Class ConfigurableFeatureProviderWrapper

- java.lang.Object
- - org.eclipse.graphiti.features.DefaultFeatureProviderWrapper
  - - org.eclipse.graphiti.features.ConfigurableFeatureProviderWrapper

All Implemented Interfaces:
  IFeatureProvider, IMappingProvider

    public class ConfigurableFeatureProviderWrapper
    extends DefaultFeatureProviderWrapper

The Class ConfigurableFeatureProviderWrapper.

### Constructor Summary

Constructors
Constructor and Description
`ConfigurableFeatureProviderWrapper(IFeatureProvider innerFeatureProvider)` Creates a new `ConfigurableFeatureProviderWrapper`.

### Method Summary

All Methods Instance Methods Concrete Methods
`IReason` `canAdd(IAddContext context)` Can add.
`IReason` `canLayout(ILayoutContext context)` Checks if an layout process can be processed.
`IReason` `canUpdate(IUpdateContext context)` Checks if an update process can be processed.
`IAddBendpointFeature` `getAddBendpointFeature(IAddBendpointContext context)` Add bendpoint features handle the user's requst to have more connection bendpoints.
`IAddFeature` `getAddFeature(IAddContext context)` Add features create graphical representations of domain model objects.
`ICreateConnectionFeature[]` `getCreateConnectionFeatures()` Gets the create connection features.
`ICreateFeature[]` `getCreateFeatures()` Provides all create features.
`ICustomFeature[]` `getCustomFeatures(ICustomContext context)` Custom features can do anything.
`IDeleteFeature` `getDeleteFeature(IDeleteContext context)` Delete features remove the grapical representations of domain model objects as well as the domain model objects itself.
`IDirectEditingFeature` `getDirectEditingFeature(IDirectEditingContext context)` Direct editing features handle direct editing functionality (including drop down lists and text completion).
`IFeature[]` `getDragAndDropFeatures(IPictogramElementContext context)` if the user should be able to create connections directly from a pictogram element without using the connection tool you can provide an array of features.
`ILayoutFeature` `getLayoutFeature(ILayoutContext context)` Layout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.
`IMoveAnchorFeature` `getMoveAnchorFeature(IMoveAnchorContext context)` Move features respond to user's move requests.
`IMoveBendpointFeature` `getMoveBendpointFeature(IMoveBendpointContext context)` Move features respond to user's move requests.
`IMoveConnectionDecoratorFeature` `getMoveConnectionDecoratorFeature(IMoveConnectionDecoratorContext context)` Move features respond to user's move requests.
`IMoveShapeFeature` `getMoveShapeFeature(IMoveShapeContext context)` Move shape features respond to user's move requests.
`IPasteFeature` `getPasteFeature(IPasteContext context)` Paste features bring clipboard content to the diagram.
`IReconnectionFeature` `getReconnectionFeature(IReconnectionContext context)` Reconnection features handle the change of a connection's start or end anchor.
`IRemoveBendpointFeature` `getRemoveBendpointFeature(IRemoveBendpointContext context)` Add bendpoint features handle the user's requst to remove connection bendpoints.
`IRemoveFeature` `getRemoveFeature(IRemoveContext context)` Remove features remove the grapical representations of domain model objects.
`IResizeShapeFeature` `getResizeShapeFeature(IResizeShapeContext context)` Resize shape features respond to user's resize requests.
`IUpdateFeature` `getUpdateFeature(IUpdateContext context)` Update features do the synchronization work and transport data from domain model to pictograms model elements.

### Methods inherited from class org.eclipse.graphiti.features.DefaultFeatureProviderWrapper

`addIfPossible, dispose, getAllBusinessObjectsForPictogramElement, getAllPictogramElementsForBusinessObject, getBusinessObjectForPictogramElement, getCopyFeature, getDiagramTypeProvider, getDirectEditingInfo, getInnerFeatureProvider, getPictogramElementForBusinessObject, getPrintFeature, getSaveImageFeature, hasPictogramElementForBusinessObject, layoutIfPossible, link, link, updateIfPossible, updateIfPossibleAndNeeded, updateNeeded`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ConfigurableFeatureProviderWrapper

    public ConfigurableFeatureProviderWrapper(IFeatureProvider innerFeatureProvider)

Creates a new `ConfigurableFeatureProviderWrapper`.

Parameters:
  `innerFeatureProvider` - the inner feature provider

### Method Detail

#### canAdd

    public IReason canAdd(IAddContext context)

Description copied from interface: `IFeatureProvider`
Can add.

Specified by:
  `canAdd` in interface `IFeatureProvider`
Overrides:
  `canAdd` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  status and reason

#### canLayout

    public IReason canLayout(ILayoutContext context)

Description copied from interface: `IFeatureProvider`
Checks if an layout process can be processed. Usually implementers have to check the context.

Specified by:
  `canLayout` in interface `IFeatureProvider`
Overrides:
  `canLayout` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  status and reason

#### canUpdate

    public IReason canUpdate(IUpdateContext context)

Description copied from interface: `IFeatureProvider`
Checks if an update process can be processed. Usually implementers have to check the context.

Specified by:
  `canUpdate` in interface `IFeatureProvider`
Overrides:
  `canUpdate` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  status and reason

#### getAddBendpointFeature

    public IAddBendpointFeature getAddBendpointFeature(IAddBendpointContext context)

Description copied from interface: `IFeatureProvider`
Add bendpoint features handle the user's requst to have more connection bendpoints.

Specified by:
  `getAddBendpointFeature` in interface `IFeatureProvider`
Overrides:
  `getAddBendpointFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  add feature according to the given context
See Also:
  `IAddBendpointFeature`, `IAddBendpointContext`

#### getAddFeature

    public IAddFeature getAddFeature(IAddContext context)

Description copied from interface: `IFeatureProvider`
Add features create graphical representations of domain model objects.

Specified by:
  `getAddFeature` in interface `IFeatureProvider`
Overrides:
  `getAddFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  add feature according to the given context
See Also:
  `IAddFeature`

#### getCreateConnectionFeatures

    public ICreateConnectionFeature[] getCreateConnectionFeatures()

Description copied from interface: `IFeatureProvider`
Gets the create connection features.

Specified by:
  `getCreateConnectionFeatures` in interface `IFeatureProvider`
Overrides:
  `getCreateConnectionFeatures` in class `DefaultFeatureProviderWrapper`
Returns:
  all features to create connections
See Also:
  `ICreateConnectionFeature`

#### getCreateFeatures

    public ICreateFeature[] getCreateFeatures()

Description copied from interface: `IFeatureProvider`
Provides all create features. In the graphics framework they will be visualized in an editor as create tools.

Specified by:
  `getCreateFeatures` in interface `IFeatureProvider`
Overrides:
  `getCreateFeatures` in class `DefaultFeatureProviderWrapper`
Returns:
  all create features
See Also:
  `ICreateFeature`

#### getCustomFeatures

    public ICustomFeature[] getCustomFeatures(ICustomContext context)

Description copied from interface: `IFeatureProvider`
Custom features can do anything. Their functionality can not be planned by the graphics framework (team).

Specified by:
  `getCustomFeatures` in interface `IFeatureProvider`
Overrides:
  `getCustomFeatures` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  custom feature according to the given context
See Also:
  `ICustomFeature`

#### getDeleteFeature

    public IDeleteFeature getDeleteFeature(IDeleteContext context)

Description copied from interface: `IFeatureProvider`
Delete features remove the grapical representations of domain model objects as well as the domain model objects itself.

Specified by:
  `getDeleteFeature` in interface `IFeatureProvider`
Overrides:
  `getDeleteFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  delete feature according to the given context
See Also:
  `IDeleteFeature`

#### getDirectEditingFeature

    public IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context)

Description copied from interface: `IFeatureProvider`
Direct editing features handle direct editing functionality (including drop down lists and text completion).

Specified by:
  `getDirectEditingFeature` in interface `IFeatureProvider`
Overrides:
  `getDirectEditingFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  direct editing feature according to the given context
See Also:
  `IDirectEditingFeature`

#### getDragAndDropFeatures

    public IFeature[] getDragAndDropFeatures(IPictogramElementContext context)

Description copied from interface: `IFeatureProvider`
if the user should be able to create connections directly from a pictogram element without using the connection tool you can provide an array of features. By providing one feature this feature will be executed directly on drop. By providing 2 or more features a popup menu will let the user select the feature.

Specified by:
  `getDragAndDropFeatures` in interface `IFeatureProvider`
Overrides:
  `getDragAndDropFeatures` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - - the pictogram element the drag and drop should be initiated on
Returns:
  an array of features or null.

#### getLayoutFeature

    public ILayoutFeature getLayoutFeature(ILayoutContext context)

Description copied from interface: `IFeatureProvider`
Layout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.

Specified by:
  `getLayoutFeature` in interface `IFeatureProvider`
Overrides:
  `getLayoutFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  layout feature according to the given context
See Also:
  `ILayoutFeature`

#### getMoveAnchorFeature

    public IMoveAnchorFeature getMoveAnchorFeature(IMoveAnchorContext context)

Description copied from interface: `IFeatureProvider`
Move features respond to user's move requests. This one is especially for fix point anchors ( `FixPointAnchor`).

Specified by:
  `getMoveAnchorFeature` in interface `IFeatureProvider`
Overrides:
  `getMoveAnchorFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  move feature according to the given context
See Also:
  `IMoveAnchorFeature`

#### getMoveBendpointFeature

    public IMoveBendpointFeature getMoveBendpointFeature(IMoveBendpointContext context)

Description copied from interface: `IFeatureProvider`
Move features respond to user's move requests. This one is especially for fix point anchors ( `FixPointAnchor`).

Specified by:
  `getMoveBendpointFeature` in interface `IFeatureProvider`
Overrides:
  `getMoveBendpointFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  move feature according to the given context
See Also:
  `IMoveBendpointFeature`

#### getMoveConnectionDecoratorFeature

    public IMoveConnectionDecoratorFeature getMoveConnectionDecoratorFeature(IMoveConnectionDecoratorContext context)

Description copied from interface: `IFeatureProvider`
Move features respond to user's move requests.

Specified by:
  `getMoveConnectionDecoratorFeature` in interface `IFeatureProvider`
Overrides:
  `getMoveConnectionDecoratorFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  move feature according to the given context
See Also:
  `IMoveConnectionDecoratorFeature`

#### getMoveShapeFeature

    public IMoveShapeFeature getMoveShapeFeature(IMoveShapeContext context)

Description copied from interface: `IFeatureProvider`
Move shape features respond to user's move requests.

Specified by:
  `getMoveShapeFeature` in interface `IFeatureProvider`
Overrides:
  `getMoveShapeFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  move feature according to the given context
See Also:
  `IMoveShapeFeature`

#### getPasteFeature

    public IPasteFeature getPasteFeature(IPasteContext context)

Description copied from interface: `IFeatureProvider`
Paste features bring clipboard content to the diagram.

Specified by:
  `getPasteFeature` in interface `IFeatureProvider`
Overrides:
  `getPasteFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  copy feature according to the given context
See Also:
  `ICopyFeature`

#### getReconnectionFeature

    public IReconnectionFeature getReconnectionFeature(IReconnectionContext context)

Description copied from interface: `IFeatureProvider`
Reconnection features handle the change of a connection's start or end anchor.

Specified by:
  `getReconnectionFeature` in interface `IFeatureProvider`
Overrides:
  `getReconnectionFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  reconnection feature according to the given context
See Also:
  `IReconnectionFeature`

#### getRemoveBendpointFeature

    public IRemoveBendpointFeature getRemoveBendpointFeature(IRemoveBendpointContext context)

Description copied from interface: `IFeatureProvider`
Add bendpoint features handle the user's requst to remove connection bendpoints.

Specified by:
  `getRemoveBendpointFeature` in interface `IFeatureProvider`
Overrides:
  `getRemoveBendpointFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  remove feature according to the given context
See Also:
  `IRemoveBendpointFeature`

#### getRemoveFeature

    public IRemoveFeature getRemoveFeature(IRemoveContext context)

Description copied from interface: `IFeatureProvider`
Remove features remove the grapical representations of domain model objects.

Specified by:
  `getRemoveFeature` in interface `IFeatureProvider`
Overrides:
  `getRemoveFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  remove feature according to the given context
See Also:
  `IRemoveFeature`

#### getResizeShapeFeature

    public IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context)

Description copied from interface: `IFeatureProvider`
Resize shape features respond to user's resize requests.

Specified by:
  `getResizeShapeFeature` in interface `IFeatureProvider`
Overrides:
  `getResizeShapeFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  resize feature according to the given context
See Also:
  `IResizeShapeFeature`

#### getUpdateFeature

    public IUpdateFeature getUpdateFeature(IUpdateContext context)

Description copied from interface: `IFeatureProvider`
Update features do the synchronization work and transport data from domain model to pictograms model elements.

Specified by:
  `getUpdateFeature` in interface `IFeatureProvider`
Overrides:
  `getUpdateFeature` in class `DefaultFeatureProviderWrapper`
Parameters:
  `context` - the context
Returns:
  update feature according to the given context
See Also:
  `IUpdateFeature`