Class DefaultDeleteFeature

    • Method Detail

      • canDelete

        public boolean canDelete​(IDeleteContext context)
        Description copied from interface: IDelete
        Can delete hook. Needs to be implemented in order to decide if a feature can (and wants to) handle a delete request.
        Specified by:
        canDelete in interface IDelete
        Parameters:
        context - the context describing the request
        Returns:
        true, if the feature can perform the delete operation
      • delete

        public void delete​(IDeleteContext context)
        Description copied from interface: IDelete
        Hook to implement the actual delete functionality.
        Specified by:
        delete in interface IDelete
        Parameters:
        context - the context
      • deleteBusinessObjects

        protected void deleteBusinessObjects​(java.lang.Object[] businessObjects)
        Standard functionality to delete all given domain objects.
        Parameters:
        businessObjects - the domain objects to delete
      • deleteBusinessObject

        protected void deleteBusinessObject​(java.lang.Object bo)
        Standard functionality to delete one domain object. Will delegate for EObjects to EcoreUtil.delete(EObject, boolean); non-EMF objects will be ignored.
        Parameters:
        bo - the domain object to delete
      • preDelete

        public void preDelete​(IDeleteContext context)
        Description copied from interface: IDelete
        Pre delete hook that can be implemented by users to perform any operations that need to be done before the standard delete functionality starts. Be sure to call DefaultDeleteFeature#setDoneChanges(boolean) in case you modify any EMF objects to enable that the command stack gets updated.
        Specified by:
        preDelete in interface IDelete
        Parameters:
        context - the context
      • isDeleteAbort

        public boolean isDeleteAbort()
        Description copied from interface: IDelete
        The Graphiti framework will call this method after IDelete.preDelete(IDeleteContext) has been called and before the actual delete is done. In case this method returns true, the operation will be cancelled by the Graphiti framework by throwing an OperationCanceledException that causes am EMF revert of the operation.

        Implementing classes might e.g. set a flag in IDelete.preDelete(IDeleteContext) as cancellation indication and check that that flag here.

        Specified by:
        isDeleteAbort in interface IDelete
        Returns:
        true in case you want to cancel the current operation, false otherwise.
        Since:
        0.12
      • postDelete

        public void postDelete​(IDeleteContext context)
        Description copied from interface: IDelete
        Post delete hook that can be implemented by users to perform any operations that need to be done after the standard delete functionality ends.
        Specified by:
        postDelete in interface IDelete
        Parameters:
        context - the context
      • canExecute

        public boolean canExecute​(IContext context)
        Description copied from interface: IFeature
        Decides if the current feature can execute with the given context.
        Specified by:
        canExecute in interface IFeature
        Parameters:
        context - this is the general input for this method
        Returns:
        true if the feature can be executed, false if not
        See Also:
        IContext
      • execute

        public void execute​(IContext context)
        Description copied from interface: IFeature
        Executes the current feature with the given context.
        Specified by:
        execute in interface IFeature
        Parameters:
        context - this is the general input for this method
        See Also:
        IContext
      • getName

        public java.lang.String getName()
        Hook to return the name of the delete operation e.g for display in the context menu. The standard implementation simply returns "Delete".
        Specified by:
        getName in interface IName
        Overrides:
        getName in class AbstractFeature
        Returns:
        The diplay name of the operation
      • 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
      • setDoneChanges

        protected void setDoneChanges​(boolean doneChanges)
        Can be called by users (in subclasses of DefaultDeleteFeature) to tell the framework that changes have been done that should reflect on the command stack. The method is called by the standard implementation in delete(IDeleteContext) right after the first shape has been removed from the diagram.
        Parameters:
        doneChanges - truein case modifications have been made, false otherwise
        Since:
        0.9
      • getUserDecision

        protected boolean getUserDecision​(IDeleteContext context)
        Shows a dialog which asks the user to confirm the deletion of one or more elements.
        Parameters:
        context - delete context
        Returns:
        true to delete element(s); false to cancel delete
      • getDeleteName

        protected java.lang.String getDeleteName​(IDeleteContext context)
        Returns the delete name which will be used for the delete dialog. E.g. "file test.java". The default implementation returns null to indicate that the popup text refers to "this object".
        Parameters:
        context - the delete context
        Returns:
        the delete name, or null to indicate no special name shall be used
        Since:
        0.8