Package org.eclipse.graphiti.ui.internal.policy

## Interface IEditPolicyFactory

All Superinterfaces:
  `IConfigurationProviderHolder`

All Known Implementing Classes:
  `DefaultEditPolicyFactory`

    public interface IEditPolicyFactory
    extends IConfigurationProviderHolder

All EditPolicies must be created with this IEditPolicyFactory. This provides an easy way to exchange the standard EditPolicies with specific implementations.

### Method Summary

All Methods Instance Methods Abstract Methods
`org.eclipse.gef.EditPolicy` `createConnectionBendpointsEditPolicy()`
`org.eclipse.gef.EditPolicy` `createConnectionDeleteEditPolicy​(IConfigurationProvider configurationProvider)`
`org.eclipse.gef.EditPolicy` `createConnectionEditPolicy()`
`org.eclipse.gef.EditPolicy` `createConnectionHighlightEditPolicy()` Creates an EditPolicy give feedback for if a ConnectionEditPart is selected.
`org.eclipse.gef.EditPolicy` `createDirectEditPolicy()` Creates an EditPolicy to handle direct-editing of EditParts.
`org.eclipse.gef.EditPolicy` `createModelObjectDeleteEditPolicy​(IConfigurationProvider configurationProvider)` Creates an EditPolicy to handle the deletion of EditParts.
`org.eclipse.gef.EditPolicy` `createShapeForbidLayoutEditPolicy()` Creates an EditPolicy, which 'forbids' any Layout dependent Commands.
`org.eclipse.gef.EditPolicy` `createShapeHighlightEditPolicy()` Creates an EditPolicy, which gives feedback for if an EditPart is selected.
`org.eclipse.gef.EditPolicy` `createShapeHoverEditPolicy()`
`org.eclipse.gef.EditPolicy` `createShapeXYLayoutEditPolicy()` Creates an EditPolicy, where the Layout of the EditParts is important: they must have an XYLayout.
`void` `dispose()` Disposes this object and frees all resources.

### Methods inherited from interface org.eclipse.graphiti.ui.internal.config.IConfigurationProviderHolder

`getConfigurationProvider`

### Method Detail

#### dispose

    void dispose()

Disposes this object and frees all resources. This object will be unusable afterwards.

#### createShapeForbidLayoutEditPolicy

    org.eclipse.gef.EditPolicy createShapeForbidLayoutEditPolicy()

Creates an EditPolicy, which 'forbids' any Layout dependent Commands. All methods of this EditPolicy return null, which is different from using no EditPolicy at all, because it will create a visible feedback that the requests are forbidden. This EditPolicy can for example be used for those EditParts, which do not have any children. It forbids commands for the following requests:

- A child EditPart shall be moved from another parent-EditPart into this parent-EditPart.
- A child EditPart shall be moved inside this parent-EditPart.
- A new child EditPart shall be created inside this parent-EditPart (with the CreationTool).

#### createShapeXYLayoutEditPolicy

    org.eclipse.gef.EditPolicy createShapeXYLayoutEditPolicy()

Creates an EditPolicy, where the Layout of the EditParts is important: they must have an XYLayout. It assumes, that this EditPart is a parent, whose children can be added/deleted/moved. It creates commands for the following requests:

- A child EditPart shall be moved from another parent-EditPart into this parent-EditPart.
- A child EditPart shall be moved inside this parent-EditPart (resized or changed XY-position).
- A new child EditPart shall be created inside this parent-EditPart (with the CreationTool).

#### createShapeHighlightEditPolicy

    org.eclipse.gef.EditPolicy createShapeHighlightEditPolicy()

Creates an EditPolicy, which gives feedback for if an EditPart is selected. It does not create any commands. It can be used for example to do the following:

- Highlight the selected EditPart.

#### createConnectionHighlightEditPolicy

    org.eclipse.gef.EditPolicy createConnectionHighlightEditPolicy()

Creates an EditPolicy give feedback for if a ConnectionEditPart is selected. This includes the connection-handles at the start/end of the connection. It does not create any commands. It can be used for example to do the following:

- Create selection-handles at the beginning/end of the selected ConnectionEditPart.
- Highlight the selected ConnectionEditPart.

#### createDirectEditPolicy

    org.eclipse.gef.EditPolicy createDirectEditPolicy()

Creates an EditPolicy to handle direct-editing of EditParts. Typically not the complete EditPart shall be edited directly, but only one control of it (e.g. one Label). For this control an appropriate CellEditor would usually be shown. It creates commands for the following requests:

- An EditPart shall be edited directly.

#### createModelObjectDeleteEditPolicy

    org.eclipse.gef.EditPolicy createModelObjectDeleteEditPolicy​(IConfigurationProvider configurationProvider)

Creates an EditPolicy to handle the deletion of EditParts. It creates commands for the following requests:

- An EditPart shall be deleted.

#### createConnectionEditPolicy

    org.eclipse.gef.EditPolicy createConnectionEditPolicy()

#### createConnectionBendpointsEditPolicy

    org.eclipse.gef.EditPolicy createConnectionBendpointsEditPolicy()

#### createConnectionDeleteEditPolicy

    org.eclipse.gef.EditPolicy createConnectionDeleteEditPolicy​(IConfigurationProvider configurationProvider)

#### createShapeHoverEditPolicy

    org.eclipse.gef.EditPolicy createShapeHoverEditPolicy()