org.eclipse.graphiti.features
Class DefaultFeatureProviderWrapper

java.lang.Object
  extended by org.eclipse.graphiti.features.DefaultFeatureProviderWrapper
All Implemented Interfaces:
IFeatureProvider, IMappingProvider
Direct Known Subclasses:
ConfigurableFeatureProviderWrapper

public class DefaultFeatureProviderWrapper
extends java.lang.Object
implements IFeatureProvider

The Class DefaultFeatureProviderWrapper.


Field Summary
private  IFeatureProvider innerFeatureProvider
           
 
Constructor Summary
DefaultFeatureProviderWrapper(IFeatureProvider innerFeatureProvider)
          Creates a new DefaultFeatureProviderWrapper.
 
Method Summary
 PictogramElement addIfPossible(IAddContext context)
          Adds the if possible.
 IReason canAdd(IAddContext context)
          Can add.
 IReason canLayout(ILayoutContext context)
          Checks if an layout process can be processed.
 IReason canUpdate(IUpdateContext context)
          Checks if an update process can be processed.
 void dispose()
          This is called to dispose the object.
 IAddBendpointFeature getAddBendpointFeature(IAddBendpointContext context)
          Add bendpoint features handle the user's requst to have more connection bendpoints.
 IAddFeature getAddFeature(IAddContext context)
          Add features create graphical representations of domain model objects.
 java.lang.Object[] getAllBusinessObjectsForPictogramElement(PictogramElement pictogramElement)
          Returns all business objects which are linked to the given pictogram element.
 PictogramElement[] getAllPictogramElementsForBusinessObject(java.lang.Object businessObject)
          Provides the pictogram elements which represents the given business object.
 java.lang.Object getBusinessObjectForPictogramElement(PictogramElement pictogramElement)
          Returns the first of possibly several business objects which are linked to the given pictogram element.
 ICopyFeature getCopyFeature(ICopyContext context)
          Copy features fill the clipboard.
 ICreateConnectionFeature[] getCreateConnectionFeatures()
          Gets the create connection features.
 ICreateFeature[] getCreateFeatures()
          Provides all create features.
 ICustomFeature[] getCustomFeatures(ICustomContext context)
          Custom features can do anything.
 IDeleteFeature getDeleteFeature(IDeleteContext context)
          Delete features remove the grapical representations of domain model objects as well as the domain model objects itself.
 IDiagramTypeProvider getDiagramTypeProvider()
          Returns the diagram type provider.
 IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context)
          Direct editing features handle direct editing functionality (including drop down lists and text completion).
 IDirectEditingInfo getDirectEditingInfo()
          If a creation feature wants to switch directly into the direct editing mode (after the object creation),
it must provide the necessary information via this object.
 IFeature[] getDragAndDropFeatures(IPictogramElementContext context)
          if the user should be able to create connections directly from a pictogram element without using the connection tool you can provide an array of features.
 IFeatureProvider getInnerFeatureProvider()
          Gets the inner feature provider.
 ILayoutFeature getLayoutFeature(ILayoutContext context)
          Layout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.
 IMoveAnchorFeature getMoveAnchorFeature(IMoveAnchorContext context)
          Move features respond to user's move requests.
 IMoveBendpointFeature getMoveBendpointFeature(IMoveBendpointContext context)
          Move features respond to user's move requests.
 IMoveConnectionDecoratorFeature getMoveConnectionDecoratorFeature(IMoveConnectionDecoratorContext context)
          Move features respond to user's move requests.
 IMoveShapeFeature getMoveShapeFeature(IMoveShapeContext context)
          Move shape features respond to user's move requests.
 IPasteFeature getPasteFeature(IPasteContext context)
          Paste features bring clipboard content to the diagram.
 PictogramElement getPictogramElementForBusinessObject(java.lang.Object businessObject)
          This method is similar to.
 IPrintFeature getPrintFeature()
          It is planned to use this for printing support.
 IReconnectionFeature getReconnectionFeature(IReconnectionContext context)
          Reconnection features handle the change of a connection's start or end anchor.
 IRemoveBendpointFeature getRemoveBendpointFeature(IRemoveBendpointContext context)
          Add bendpoint features handle the user's requst to remove connection bendpoints.
 IRemoveFeature getRemoveFeature(IRemoveContext context)
          Remove features remove the grapical representations of domain model objects.
 IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context)
          Resize shape features respond to user's resize requests.
 ISaveImageFeature getSaveImageFeature()
          It is planned to use this for save support.
 IUpdateFeature getUpdateFeature(IUpdateContext context)
          Update features do the synchronization work and transport data from domain model to pictograms model elements.
 boolean hasPictogramElementForBusinessObject(java.lang.Object businessObject)
          Check does there have pictogram element linked to this business object.
 IReason layoutIfPossible(ILayoutContext context)
          Process the layout process.
 void link(PictogramElement pictogramElement, java.lang.Object businessObject)
          Links the pictogram element with a business object.
 void link(PictogramElement pictogramElement, java.lang.Object[] businessObjects)
          Links the pictogram element with several business objects.
private  void setInnerFeatureProvider(IFeatureProvider innerFeatureProvider)
           
 IReason updateIfPossible(IUpdateContext context)
          Process the update process.
 IReason updateIfPossibleAndNeeded(IUpdateContext context)
          Update if possible and needed.
 IReason updateNeeded(IUpdateContext context)
          Checks if an update process is needed and has be processed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

innerFeatureProvider

private IFeatureProvider innerFeatureProvider
Constructor Detail

DefaultFeatureProviderWrapper

public DefaultFeatureProviderWrapper(IFeatureProvider innerFeatureProvider)
Creates a new DefaultFeatureProviderWrapper.

Parameters:
innerFeatureProvider - the inner feature provider
Method Detail

addIfPossible

public PictogramElement addIfPossible(IAddContext context)
Description copied from interface: IFeatureProvider
Adds the if possible.

Specified by:
addIfPossible in interface IFeatureProvider
Parameters:
context - the context
Returns:
added pictogram elements

canAdd

public IReason canAdd(IAddContext context)
Description copied from interface: IFeatureProvider
Can add.

Specified by:
canAdd in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

canLayout

public IReason canLayout(ILayoutContext context)
Description copied from interface: IFeatureProvider
Checks if an layout process can be processed. Usually implementers have to check the context.

Specified by:
canLayout in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

canUpdate

public IReason canUpdate(IUpdateContext context)
Description copied from interface: IFeatureProvider
Checks if an update process can be processed. Usually implementers have to check the context.

Specified by:
canUpdate in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

getAddBendpointFeature

public IAddBendpointFeature getAddBendpointFeature(IAddBendpointContext context)
Description copied from interface: IFeatureProvider
Add bendpoint features handle the user's requst to have more connection bendpoints.

Specified by:
getAddBendpointFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
add feature according to the given context
See Also:
IAddBendpointFeature, IAddBendpointContext

getAddFeature

public IAddFeature getAddFeature(IAddContext context)
Description copied from interface: IFeatureProvider
Add features create graphical representations of domain model objects.

Specified by:
getAddFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
add feature according to the given context
See Also:
IAddFeature

getAllBusinessObjectsForPictogramElement

public java.lang.Object[] getAllBusinessObjectsForPictogramElement(PictogramElement pictogramElement)
Description copied from interface: IMappingProvider
Returns all business objects which are linked to the given pictogram element.

Specified by:
getAllBusinessObjectsForPictogramElement in interface IMappingProvider
Parameters:
pictogramElement - The pictogram element for which to return the business objects.
Returns:
The business objects which are linked to the given pictogram element. Can be empty but not null.
See Also:
IMappingProvider.link(PictogramElement, Object[])

getAllPictogramElementsForBusinessObject

public PictogramElement[] getAllPictogramElementsForBusinessObject(java.lang.Object businessObject)
Description copied from interface: IMappingProvider
Provides the pictogram elements which represents the given business object.

Specified by:
getAllPictogramElementsForBusinessObject in interface IMappingProvider
Parameters:
businessObject - the given business object
Returns:
the pictogram elements

getBusinessObjectForPictogramElement

public java.lang.Object getBusinessObjectForPictogramElement(PictogramElement pictogramElement)
Description copied from interface: IMappingProvider
Returns the first of possibly several business objects which are linked to the given pictogram element. This is a convenience method for IMappingProvider.getAllBusinessObjectsForPictogramElement(PictogramElement), because in many usecases only a single business object is linked.

Specified by:
getBusinessObjectForPictogramElement in interface IMappingProvider
Parameters:
pictogramElement - The pictogram element for which to return the business object.
Returns:
The first of possibly several business objects which are linked to the given pictogram element. Can be null.
See Also:
IMappingProvider.link(PictogramElement, Object)

getCopyFeature

public ICopyFeature getCopyFeature(ICopyContext context)
Description copied from interface: IFeatureProvider
Copy features fill the clipboard.

Specified by:
getCopyFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
copy feature according to the given context
See Also:
ICopyFeature

getCreateConnectionFeatures

public ICreateConnectionFeature[] getCreateConnectionFeatures()
Description copied from interface: IFeatureProvider
Gets the create connection features.

Specified by:
getCreateConnectionFeatures in interface IFeatureProvider
Returns:
all features to create connections
See Also:
ICreateConnectionFeature

getCreateFeatures

public ICreateFeature[] getCreateFeatures()
Description copied from interface: IFeatureProvider
Provides all create features. In the graphics framework they will be visualized in an editor as create tools.

Specified by:
getCreateFeatures in interface IFeatureProvider
Returns:
all create features
See Also:
ICreateFeature

getCustomFeatures

public ICustomFeature[] getCustomFeatures(ICustomContext context)
Description copied from interface: IFeatureProvider
Custom features can do anything. Their functionality can not be planned by the graphics framework (team).

Specified by:
getCustomFeatures in interface IFeatureProvider
Parameters:
context - the context
Returns:
custom feature according to the given context
See Also:
ICustomFeature

getDeleteFeature

public IDeleteFeature getDeleteFeature(IDeleteContext context)
Description copied from interface: IFeatureProvider
Delete features remove the grapical representations of domain model objects as well as the domain model objects itself.

Specified by:
getDeleteFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
delete feature according to the given context
See Also:
IDeleteFeature

getDiagramTypeProvider

public IDiagramTypeProvider getDiagramTypeProvider()
Description copied from interface: IFeatureProvider
Returns the diagram type provider.

Specified by:
getDiagramTypeProvider in interface IFeatureProvider
Returns:
the diagram type provider
See Also:
IDiagramTypeProvider

getDirectEditingFeature

public IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context)
Description copied from interface: IFeatureProvider
Direct editing features handle direct editing functionality (including drop down lists and text completion).

Specified by:
getDirectEditingFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
direct editing feature according to the given context
See Also:
IDirectEditingFeature

getDirectEditingInfo

public IDirectEditingInfo getDirectEditingInfo()
Description copied from interface: IFeatureProvider
If a creation feature wants to switch directly into the direct editing mode (after the object creation),
it must provide the necessary information via this object.

Specified by:
getDirectEditingInfo in interface IFeatureProvider
Returns:
IDirectEditingInfo

getDragAndDropFeatures

public IFeature[] getDragAndDropFeatures(IPictogramElementContext context)
Description copied from interface: IFeatureProvider
if the user should be able to create connections directly from a pictogram element without using the connection tool you can provide an array of features. By providing one feature this feature will be executed directly on drop. By providing 2 or more features a popup menu will let the user select the feature.

Specified by:
getDragAndDropFeatures in interface IFeatureProvider
Parameters:
context - - the pictogram element the drag and drop should be initiated on
Returns:
an array of features or null.

getInnerFeatureProvider

public IFeatureProvider getInnerFeatureProvider()
Gets the inner feature provider.

Returns:
the inner feature provider

getLayoutFeature

public ILayoutFeature getLayoutFeature(ILayoutContext context)
Description copied from interface: IFeatureProvider
Layout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.

Specified by:
getLayoutFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
layout feature according to the given context
See Also:
ILayoutFeature

getMoveAnchorFeature

public IMoveAnchorFeature getMoveAnchorFeature(IMoveAnchorContext context)
Description copied from interface: IFeatureProvider
Move features respond to user's move requests. This one is especially for fix point anchors ( FixPointAnchor).

Specified by:
getMoveAnchorFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
move feature according to the given context
See Also:
IMoveAnchorFeature

getMoveBendpointFeature

public IMoveBendpointFeature getMoveBendpointFeature(IMoveBendpointContext context)
Description copied from interface: IFeatureProvider
Move features respond to user's move requests. This one is especially for fix point anchors ( FixPointAnchor).

Specified by:
getMoveBendpointFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
move feature according to the given context
See Also:
IMoveBendpointFeature

getMoveConnectionDecoratorFeature

public IMoveConnectionDecoratorFeature getMoveConnectionDecoratorFeature(IMoveConnectionDecoratorContext context)
Description copied from interface: IFeatureProvider
Move features respond to user's move requests.

Specified by:
getMoveConnectionDecoratorFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
move feature according to the given context
See Also:
IMoveConnectionDecoratorFeature

getMoveShapeFeature

public IMoveShapeFeature getMoveShapeFeature(IMoveShapeContext context)
Description copied from interface: IFeatureProvider
Move shape features respond to user's move requests.

Specified by:
getMoveShapeFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
move feature according to the given context
See Also:
IMoveShapeFeature

getPasteFeature

public IPasteFeature getPasteFeature(IPasteContext context)
Description copied from interface: IFeatureProvider
Paste features bring clipboard content to the diagram.

Specified by:
getPasteFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
copy feature according to the given context
See Also:
ICopyFeature

getPictogramElementForBusinessObject

public PictogramElement getPictogramElementForBusinessObject(java.lang.Object businessObject)
Description copied from interface: IMappingProvider
This method is similar to.

Specified by:
getPictogramElementForBusinessObject in interface IMappingProvider
Parameters:
businessObject - the business object
Returns:
linked pictogram element
See Also:
"getPictogramElementsForBusinessObject(Object businessObject)", but only return the first PictogramElement.

getPrintFeature

public IPrintFeature getPrintFeature()
Description copied from interface: IFeatureProvider
It is planned to use this for printing support. Not yet supported perfectly.

Specified by:
getPrintFeature in interface IFeatureProvider
Returns:
print feature
See Also:
IPrintFeature

getReconnectionFeature

public IReconnectionFeature getReconnectionFeature(IReconnectionContext context)
Description copied from interface: IFeatureProvider
Reconnection features handle the change of a connection's start or end anchor.

Specified by:
getReconnectionFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
reconnection feature according to the given context
See Also:
IReconnectionFeature

getRemoveBendpointFeature

public IRemoveBendpointFeature getRemoveBendpointFeature(IRemoveBendpointContext context)
Description copied from interface: IFeatureProvider
Add bendpoint features handle the user's requst to remove connection bendpoints.

Specified by:
getRemoveBendpointFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
remove feature according to the given context
See Also:
IRemoveBendpointFeature

getRemoveFeature

public IRemoveFeature getRemoveFeature(IRemoveContext context)
Description copied from interface: IFeatureProvider
Remove features remove the grapical representations of domain model objects.

Specified by:
getRemoveFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
remove feature according to the given context
See Also:
IRemoveFeature

getResizeShapeFeature

public IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context)
Description copied from interface: IFeatureProvider
Resize shape features respond to user's resize requests.

Specified by:
getResizeShapeFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
resize feature according to the given context
See Also:
IResizeShapeFeature

getSaveImageFeature

public ISaveImageFeature getSaveImageFeature()
Description copied from interface: IFeatureProvider
It is planned to use this for save support. Not yet supported perfectly.

Specified by:
getSaveImageFeature in interface IFeatureProvider
Returns:
save feature

getUpdateFeature

public IUpdateFeature getUpdateFeature(IUpdateContext context)
Description copied from interface: IFeatureProvider
Update features do the synchronization work and transport data from domain model to pictograms model elements.

Specified by:
getUpdateFeature in interface IFeatureProvider
Parameters:
context - the context
Returns:
update feature according to the given context
See Also:
IUpdateFeature

hasPictogramElementForBusinessObject

public boolean hasPictogramElementForBusinessObject(java.lang.Object businessObject)
Description copied from interface: IMappingProvider
Check does there have pictogram element linked to this business object.

Specified by:
hasPictogramElementForBusinessObject in interface IMappingProvider
Parameters:
businessObject - the business object
Returns:
true when at least one pictogram element is linked, otherwise return false.

layoutIfPossible

public IReason layoutIfPossible(ILayoutContext context)
Description copied from interface: IFeatureProvider
Process the layout process.

Specified by:
layoutIfPossible in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

link

public void link(PictogramElement pictogramElement,
                 java.lang.Object businessObject)
Description copied from interface: IMappingProvider
Links the pictogram element with a business object. This deletes all previous links of this pictogram element.

Specified by:
link in interface IMappingProvider
Parameters:
pictogramElement - The pictogram element which to link to a new business object.
businessObject - The business object to link. Can be null to just delete previous links.

link

public void link(PictogramElement pictogramElement,
                 java.lang.Object[] businessObjects)
Description copied from interface: IMappingProvider
Links the pictogram element with several business objects. This deletes all previous links of this pictogram element.

Specified by:
link in interface IMappingProvider
Parameters:
pictogramElement - The pictogram element which to link to new business objects.

setInnerFeatureProvider

private void setInnerFeatureProvider(IFeatureProvider innerFeatureProvider)

updateIfPossible

public IReason updateIfPossible(IUpdateContext context)
Description copied from interface: IFeatureProvider
Process the update process. Usually reads businees data and modifies pictograms model.

Specified by:
updateIfPossible in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

updateIfPossibleAndNeeded

public IReason updateIfPossibleAndNeeded(IUpdateContext context)
Description copied from interface: IFeatureProvider
Update if possible and needed.

Specified by:
updateIfPossibleAndNeeded in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

updateNeeded

public IReason updateNeeded(IUpdateContext context)
Description copied from interface: IFeatureProvider
Checks if an update process is needed and has be processed. Usually implementers have to compare pictograms and business data.

Specified by:
updateNeeded in interface IFeatureProvider
Parameters:
context - the context
Returns:
status and reason

dispose

public void dispose()
Description copied from interface: IFeatureProvider
This is called to dispose the object.

Specified by:
dispose in interface IFeatureProvider


Copyright (c) SAP AG 2005, 2010.