Package 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
Description
`ConfigurableFeatureProviderWrapper(IFeatureProvider innerFeatureProvider)`
Creates a new `ConfigurableFeatureProviderWrapper`.

## Method Summary

Modifier and Type
Method
Description
`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.
`protected IFeatureChecker`
`getFeatureChecker()`
`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

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

## Constructor Details

### ConfigurableFeatureProviderWrapper

public ConfigurableFeatureProviderWrapper(IFeatureProvider innerFeatureProvider)
Creates a new `ConfigurableFeatureProviderWrapper`.

Parameters:
  `innerFeatureProvider` - the inner feature provider

## Method Details

### 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.

### getFeatureChecker

protected IFeatureChecker getFeatureChecker()

### 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`