Package org.eclipse.gef.editpolicies

# Class ComponentEditPolicy

java.lang.Object
org.eclipse.gef.editpolicies.AbstractEditPolicy
org.eclipse.gef.editpolicies.ComponentEditPolicy

All Implemented Interfaces:
  `EditPolicy`, `RequestConstants`

Direct Known Subclasses:
  `RootComponentEditPolicy`

public abstract class ComponentEditPolicy extends AbstractEditPolicy
A model-based EditPolicy for components within a container. A model-based EditPolicy only knows about the host's model and the basic operations it supports. A component is anything that is inside a container. By default, ComponentEditPolicy understands being DELETEd from its container, and being ORPHANed from its container. Subclasses can add support to handle additional behavior specific to the model.

ORPHAN is forwarded to the parent EditPart for it to handle.

DELETE is also forwarded to the parent EditPart, but subclasses may also contribute to the delete by overriding `createDeleteCommand(GroupRequest)`.

This EditPolicy is not a `GraphicalEditPolicy`, and should not be used to show feedback or interact with the host's visuals in any way.

This EditPolicy should not be used with `ConnectionEditPart`. Connections do not really have a parent; use `ConnectionEditPolicy`.

Since:
  2.0

## Field Summary

### Fields inherited from interface org.eclipse.gef.EditPolicy

`COMPONENT_ROLE, CONNECTION_BENDPOINTS_ROLE, CONNECTION_ENDPOINTS_ROLE, CONNECTION_ROLE, CONTAINER_ROLE, DIRECT_EDIT_ROLE, GRAPHICAL_NODE_ROLE, LAYOUT_ROLE, NODE_ROLE, PRIMARY_DRAG_ROLE, SELECTION_FEEDBACK_ROLE, TREE_CONTAINER_ROLE`

### Fields inherited from interface org.eclipse.gef.RequestConstants

`REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER`

## Constructor Summary

Constructors
Constructor
Description
`ComponentEditPolicy()`

## Method Summary

Modifier and Type
Method
Description
`protected Command`
`createDeleteCommand(GroupRequest deleteRequest)`
Override to contribute to the component's being deleted.
`Command`
`getCommand(Request request)`
Factors the incoming Request into ORPHANs and DELETEs.
`protected Command`
`getDeleteCommand(GroupRequest request)`
Calls and returns `createDeleteCommand(GroupRequest)`.
`protected Command`
`getOrphanCommand()`
Returns the command contribution for orphaning this component from its container.

### Methods inherited from class org.eclipse.gef.editpolicies.AbstractEditPolicy

`activate, deactivate, debugFeedback, eraseSourceFeedback, eraseTargetFeedback, getHost, getTargetEditPart, setHost, showSourceFeedback, showTargetFeedback, toString, understandsRequest`

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

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

## Constructor Details

### ComponentEditPolicy

public ComponentEditPolicy()

## Method Details

### createDeleteCommand

protected Command createDeleteCommand(GroupRequest deleteRequest)
Override to contribute to the component's being deleted.

Parameters:
  `deleteRequest` - the DeleteRequest
Returns:
  Command `null` or a contribution to the delete

### getCommand

public Command getCommand(Request request)
Factors the incoming Request into ORPHANs and DELETEs.

Specified by:
  `getCommand` in interface `EditPolicy`
Overrides:
  `getCommand` in class `AbstractEditPolicy`
Parameters:
  `request` - the Request
Returns:
  `null` or a Command contribution
See Also:
  - `EditPolicy.getCommand(Request)`

### getDeleteCommand

protected Command getDeleteCommand(GroupRequest request)
Calls and returns `createDeleteCommand(GroupRequest)`. This method is here for historical reasons and used to perform additional function.

Parameters:
  `request` - the DeleteRequest
Returns:
  a delete command

### getOrphanCommand

protected Command getOrphanCommand()
Returns the command contribution for orphaning this component from its container. By default, ORPHAN is redispatched to the host's parent as an ORPHAN_CHILDREN Request. The parents contribution is then returned.

Returns:
  the contribution obtained from the host's parent.