Class RemoveFeatureForPattern
- java.lang.Object
-
- org.eclipse.graphiti.features.impl.AbstractFeature
-
- org.eclipse.graphiti.features.impl.DefaultRemoveFeature
-
- org.eclipse.graphiti.pattern.RemoveFeatureForPattern
-
- All Implemented Interfaces:
ICustomAbortableUndoRedoFeature,ICustomUndoRedoFeature,IFeature,IFeatureProviderHolder,IRemoveFeature,IRemove,IDescription,IName
public class RemoveFeatureForPattern extends DefaultRemoveFeature implements ICustomAbortableUndoRedoFeature
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
-
-
Constructor Summary
Constructors Constructor Description RemoveFeatureForPattern(IFeatureProvider featureProvider, IPattern pattern)Creates a newRemoveFeatureForPattern.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanRedo(IContext context)Decides if the processed feature can be re-done.booleancanRemove(IRemoveContext context)Checks if given object could be removed.booleancanUndo(IContext context)Decides if the current feature can be undone - this is the undo of the execute operation.booleanhasDoneChanges()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.booleanisAbort()The Graphiti framework will call this method afterICustomUndoRedoFeature.preUndo(org.eclipse.graphiti.features.context.IContext)/ICustomUndoRedoFeature.preRedo(org.eclipse.graphiti.features.context.IContext)have been called and before the actual undo/redo operation is triggered.booleanisRemoveAbort()The Graphiti framework will call this method afterIRemove.preRemove(IRemoveContext)has been called and before the actual remove is done.voidpostRedo(IContext context)This method will be called by the Graphiti framework after the EMF undo has finished.voidpostRemove(IRemoveContext context)called after remove call.voidpostUndo(IContext context)This method will be called by the Graphiti framework after the EMF undo is finished.voidpreRedo(IContext context)This method will be called by the Graphiti framework before the EMF undo has triggered.voidpreRemove(IRemoveContext context)called prior to remove call.voidpreUndo(IContext context)This method will be called by the Graphiti framework before the EMF undo is triggered.voidremove(IRemoveContext context)Remove the given object.-
Methods inherited from class org.eclipse.graphiti.features.impl.DefaultRemoveFeature
canExecute, execute, getDescription, getName, removeAllConnections, removeAllConnections
-
Methods inherited from class org.eclipse.graphiti.features.impl.AbstractFeature
addGraphicalRepresentation, getAllBusinessObjectsForPictogramElement, getBusinessObjectForPictogramElement, getDiagram, getDiagramBehavior, getFeatureProvider, getProgressCallback, getUserDecision, isAvailable, layoutPictogramElement, link, link, manageColor, manageColor, manageDefaultFont, manageFont, manageFont, 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
-
-
-
-
Constructor Detail
-
RemoveFeatureForPattern
public RemoveFeatureForPattern(IFeatureProvider featureProvider, IPattern pattern)
Creates a newRemoveFeatureForPattern.- Parameters:
featureProvider- the feature providerpattern- the pattern
-
-
Method Detail
-
canRemove
public boolean canRemove(IRemoveContext context)
Description copied from interface:IRemoveChecks if given object could be removed.- Specified by:
canRemovein interfaceIRemove- Overrides:
canRemovein classDefaultRemoveFeature- Parameters:
context- contains object to remove- Returns:
- true if remove is possible
-
preRemove
public void preRemove(IRemoveContext context)
Description copied from interface:IRemovecalled prior to remove call.- Specified by:
preRemovein interfaceIRemove- Overrides:
preRemovein classDefaultRemoveFeature- Parameters:
context- the context
-
isRemoveAbort
public boolean isRemoveAbort()
Description copied from interface:IRemoveThe Graphiti framework will call this method afterIRemove.preRemove(IRemoveContext)has been called and before the actual remove is done. In case this method returnstrue, the operation will be cancelled by the Graphiti framework by throwing anOperationCanceledExceptionthat causes am EMF revert of the operation.Implementing classes might e.g. set a flag in
IRemove.preRemove(IRemoveContext)as cancellation indication and check that that flag here.- Specified by:
isRemoveAbortin interfaceIRemove- Overrides:
isRemoveAbortin classDefaultRemoveFeature- Returns:
truein case you want to cancel the current operation,falseotherwise.- Since:
- 0.12
-
remove
public void remove(IRemoveContext context)
Description copied from interface:IRemoveRemove the given object.- Specified by:
removein interfaceIRemove- Overrides:
removein classDefaultRemoveFeature- Parameters:
context- contains object to remove
-
postRemove
public void postRemove(IRemoveContext context)
Description copied from interface:IRemovecalled after remove call.- Specified by:
postRemovein interfaceIRemove- Overrides:
postRemovein classDefaultRemoveFeature- Parameters:
context- the context
-
isAbort
public boolean isAbort()
Description copied from interface:ICustomAbortableUndoRedoFeatureThe Graphiti framework will call this method afterICustomUndoRedoFeature.preUndo(org.eclipse.graphiti.features.context.IContext)/ICustomUndoRedoFeature.preRedo(org.eclipse.graphiti.features.context.IContext)have been called and before the actual undo/redo operation is triggered. In case this method returnstrue, the operation will be cancelled by the Graphiti framework by throwing anOperationCanceledExceptionthat causes am EMF revert of the operation.Implementing classes might e.g. set a flag in
ICustomUndoRedoFeature.preUndo(org.eclipse.graphiti.features.context.IContext)/ICustomUndoRedoFeature.preRedo(org.eclipse.graphiti.features.context.IContext)as cancellation indication and check that that flag here.- Specified by:
isAbortin interfaceICustomAbortableUndoRedoFeature- Returns:
truein case you want to cancel the current operation,falseotherwise.- Since:
- 0.12
-
canUndo
public boolean canUndo(IContext context)
Description copied from interface:IFeatureDecides if the current feature can be undone - this is the undo of the execute operation.- Specified by:
canUndoin interfaceICustomUndoRedoFeature- Specified by:
canUndoin interfaceIFeature- Overrides:
canUndoin classAbstractFeature- Parameters:
context- this is the general input for this method- Returns:
- true if the feature can be undone, false if not
- See Also:
IContext
-
preUndo
public void preUndo(IContext context)
Description copied from interface:ICustomUndoRedoFeatureThis method will be called by the Graphiti framework before the EMF undo is triggered. Customers may revert their non-EMF changes done by the feature here or inICustomUndoRedoFeature.postUndo(IContext).- Specified by:
preUndoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
postUndo
public void postUndo(IContext context)
Description copied from interface:ICustomUndoRedoFeatureThis method will be called by the Graphiti framework after the EMF undo is finished. Customers may revert their non-EMF changes done by the feature here or inICustomUndoRedoFeature.preUndo(IContext).- Specified by:
postUndoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
canRedo
public boolean canRedo(IContext context)
Description copied from interface:ICustomUndoRedoFeatureDecides if the processed feature can be re-done. This method is called once by the Graphiti framework just before any redo work is started, e.g. beforeICustomUndoRedoFeature.preRedo(IContext).Note that as soon as any feature reports
falsehere, also all consecutive entries in the command stack are no longer reachable for redo.- Specified by:
canRedoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Returns:
- true if the feature can be re-done, false if not
-
preRedo
public void preRedo(IContext context)
Description copied from interface:ICustomUndoRedoFeatureThis method will be called by the Graphiti framework before the EMF undo has triggered. Customers may re-apply their non-EMF changes done by the feature here or inICustomUndoRedoFeature.postRedo(IContext). (Usually it might be sufficient to delegate to the execution method of the feature.)- Specified by:
preRedoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
postRedo
public void postRedo(IContext context)
Description copied from interface:ICustomUndoRedoFeatureThis method will be called by the Graphiti framework after the EMF undo has finished. Customers may re-apply their non-EMF changes done by the feature here or inICustomUndoRedoFeature.preRedo(IContext). (Usually it might be sufficient to delegate to the execution method of the feature.)- Specified by:
postRedoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
hasDoneChanges
public boolean hasDoneChanges()
Description copied from interface:IFeatureIs 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 inAbstractFeature), 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
falsealthough the feature did changes.- Specified by:
hasDoneChangesin interfaceIFeature- Overrides:
hasDoneChangesin classAbstractFeature- Returns:
trueif the feature should appear in the undo stack,falseotherwise
-
-