org.eclipse.graphiti.pattern
Class RemoveFeatureForPattern

java.lang.Object
  extended by org.eclipse.graphiti.features.impl.AbstractFeature
      extended by org.eclipse.graphiti.features.impl.DefaultRemoveFeature
          extended by org.eclipse.graphiti.pattern.RemoveFeatureForPattern
All Implemented Interfaces:
ICustomUndoableFeature, IFeature, IFeatureProviderHolder, IRemoveFeature, IRemove, IDescription, IName

public class RemoveFeatureForPattern
extends DefaultRemoveFeature
implements ICustomUndoableFeature

This feature wraps the remove functionality of a pattern for calls of the Graphiti framework. Clients should not need to use this class directly.

Since:
0.8.0

Field Summary
private  IFeatureForPattern delegate
           
 
Constructor Summary
RemoveFeatureForPattern(IFeatureProvider featureProvider, IPattern pattern)
          Creates a new RemoveFeatureForPattern.
 
Method Summary
 boolean canRedo(IContext context)
          Decides if the processed feature can be re-done.
 boolean canRemove(IRemoveContext context)
          Checks if given object could be removed.
 boolean canUndo(IContext context)
          Decides if the current feature can be undone - this is the undo of the execute operation.
 boolean hasDoneChanges()
          Is queried by the framework after a feature has been executed to find out if this feature should appear in the undo stack of e.g.
 void postRemove(IRemoveContext context)
          called after remove call.
 void preRemove(IRemoveContext context)
          called prior to remove call.
 void redo(IContext context)
          This method will be called to actually do the work needed for redo.
 void undo(IContext context)
          This method will be called to actually do the work needed for undo.
 
Methods inherited from class org.eclipse.graphiti.features.impl.DefaultRemoveFeature
canExecute, execute, getDescription, getName, remove, removeAllConnections, removeAllConnections
 
Methods inherited from class org.eclipse.graphiti.features.impl.AbstractFeature
addGraphicalRepresentation, getAllBusinessObjectsForPictogramElement, getBusinessObjectForPictogramElement, getDiagram, getDiagramEditor, getFeatureProvider, getProgressCallback, getUserDecision, isAvailable, layoutPictogramElement, link, link, manageColor, manageColor, setProgressCallback, toString, updatePictogramElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.graphiti.features.IFeature
isAvailable
 
Methods inherited from interface org.eclipse.graphiti.features.IFeatureProviderHolder
getFeatureProvider
 

Field Detail

delegate

private IFeatureForPattern delegate
Constructor Detail

RemoveFeatureForPattern

public RemoveFeatureForPattern(IFeatureProvider featureProvider,
                               IPattern pattern)
Creates a new RemoveFeatureForPattern.

Parameters:
featureProvider - the feature provider
pattern - the pattern
Method Detail

canRemove

public boolean canRemove(IRemoveContext context)
Description copied from interface: IRemove
Checks if given object could be removed.

Specified by:
canRemove in interface IRemove
Overrides:
canRemove in class DefaultRemoveFeature
Parameters:
context - contains object to remove
Returns:
true if remove is possible

preRemove

public void preRemove(IRemoveContext context)
Description copied from interface: IRemove
called prior to remove call.

Specified by:
preRemove in interface IRemove
Overrides:
preRemove in class DefaultRemoveFeature
Parameters:
context - the context

postRemove

public void postRemove(IRemoveContext context)
Description copied from interface: IRemove
called after remove call.

Specified by:
postRemove in interface IRemove
Overrides:
postRemove in class DefaultRemoveFeature
Parameters:
context - the context

canUndo

public boolean canUndo(IContext context)
Description copied from interface: IFeature
Decides if the current feature can be undone - this is the undo of the execute operation.

Specified by:
canUndo in interface ICustomUndoableFeature
Specified by:
canUndo in interface IFeature
Overrides:
canUndo in class AbstractFeature
Parameters:
context - this is the general input for this method
Returns:
true if the feature can be undone, false if not
See Also:
IContext

undo

public void undo(IContext context)
Description copied from interface: ICustomUndoableFeature
This method will be called to actually do the work needed for undo. Customers may revert their non-EMF changes done by the feature here.

Specified by:
undo in interface ICustomUndoableFeature
Parameters:
context - this is the instance of the IContext object that was in use when executing the feature

canRedo

public boolean canRedo(IContext context)
Description copied from interface: ICustomUndoableFeature
Decides if the processed feature can be re-done.

Note that as soon as any feature reports false here, also all consecutive entries in the command stack are no longer reachable for redo.

Specified by:
canRedo in interface ICustomUndoableFeature
Parameters:
context - this is the instance of the IContext object that was in use when executing the feature
Returns:
true if the feature can be re-done, false if not

redo

public void redo(IContext context)
Description copied from interface: ICustomUndoableFeature
This method will be called to actually do the work needed for redo. Customers may re-apply their non-EMF changes done by the feature here. (Usually it might be sufficient to delegate to the execution method of the feature.)

Specified by:
redo in interface ICustomUndoableFeature
Parameters:
context - this is the instance of the IContext object that was in use when executing the feature

hasDoneChanges

public boolean hasDoneChanges()
Description copied from interface: IFeature
Is queried by the framework after a feature has been executed to find out if this feature should appear in the undo stack of e.g. an editor. By default all features should appear there (see implementation in AbstractFeature), but features may decide to override this behavior. Note that this is a dynamic attribute of the feature that is queried each time after the feature has been executed.

IMPORTANT NOTE: The implementor of the feature is responsible for correctly implementing this method! It might lead to inconsistencies in the command stack if this method returns false although the feature did changes.

Specified by:
hasDoneChanges in interface IFeature
Overrides:
hasDoneChanges in class AbstractFeature
Returns:
true if the feature should appear in the undo stack, false otherwise


Copyright (c) SAP AG 2005, 2012.