de.cau.cs.kieler.core.model.gmf.policies
Class AbstractDeletionPolicyProvider

java.lang.Object
  extended by org.eclipse.gmf.runtime.common.core.service.AbstractProvider
      extended by de.cau.cs.kieler.core.model.gmf.policies.AbstractDeletionPolicyProvider
All Implemented Interfaces:
IProvider, org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.IEditPolicyProvider
Direct Known Subclasses:
KaomDeletionPolicyProvider, KEGDeletionPolicyProvider, SyncchartsDeletionPolicyProvider

public abstract class AbstractDeletionPolicyProvider
extends AbstractProvider
implements org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.IEditPolicyProvider

This policy is responsible for ensuring that elements get deleted from model or not at all.

Rating yellow
(2010-06-15) msp, cmot

Nested Class Summary
protected  class AbstractDeletionPolicyProvider.KielerComponentEditPolicy
          The policy to be applied to the edit parts for controlling deletion behaviour.
 
Constructor Summary
AbstractDeletionPolicyProvider()
           
 
Method Summary
 void createEditPolicies(EditPart editPart)
          Creates the edit policies.
protected abstract  EPackage getEPackage()
          Get the ePackage of the deletion policy.
protected  boolean isTopNode(EditPart editPart)
          Determine whether the edit part is the root edit part and should not be deleted.
protected  boolean isUnremovableEditPart(EditPart editPart)
          Determines whether an edit part is unremovable.
 boolean provides(IOperation operation)
          Checks if this edit policy provides an operation.
 
Methods inherited from class org.eclipse.gmf.runtime.common.core.service.AbstractProvider
addProviderChangeListener, fireProviderChange, removeProviderChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.gmf.runtime.common.core.service.IProvider
addProviderChangeListener, removeProviderChangeListener
 

Constructor Detail

AbstractDeletionPolicyProvider

public AbstractDeletionPolicyProvider()
Method Detail

createEditPolicies

public void createEditPolicies(EditPart editPart)
Creates the edit policies.

Specified by:
createEditPolicies in interface org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.IEditPolicyProvider
Parameters:
editPart - The editPart to register this policy with.

isUnremovableEditPart

protected boolean isUnremovableEditPart(EditPart editPart)
Determines whether an edit part is unremovable. The default implementation has all edit parts removable that are not label edit parts.

Parameters:
editPart - the edit part
Returns:
true if the edit part should not be removed.

isTopNode

protected boolean isTopNode(EditPart editPart)
Determine whether the edit part is the root edit part and should not be deleted.

Parameters:
editPart - the edit part
Returns:
true if it is the root edit part

getEPackage

protected abstract EPackage getEPackage()
Get the ePackage of the deletion policy. This is used to determine which edit parts this policy applies to.

Returns:
ePackage the ePackage

provides

public boolean provides(IOperation operation)
Checks if this edit policy provides an operation.

Specified by:
provides in interface IProvider
Parameters:
operation - The operation to check.
Returns:
True if this edit policy provides the given operation