Class AbstractFeatureProvider
java.lang.Object
org.eclipse.graphiti.features.impl.AbstractFeatureProvider
- All Implemented Interfaces:
IFeatureProvider
,IMappingProvider
- Direct Known Subclasses:
DefaultFeatureProvider
The Class AbstractFeatureProvider.
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final PictogramElement[]
The Constant EMPTY_PICTOGRAM_ELEMENTS.protected static final org.eclipse.emf.ecore.EObject[]
The Constant EMPTY_REF_OBJECTS. -
Constructor Summary
ConstructorDescriptionAbstractFeatureProvider
(IDiagramTypeProvider diagramTypeProvider) Creates a newAbstractFeatureProvider
. -
Method Summary
Modifier and TypeMethodDescriptionaddIfPossible
(IAddContext context) Adds the if possible.canAdd
(IAddContext context) Can add.canLayout
(ILayoutContext context) Checks if an layout process can be processed.canUpdate
(IUpdateContext context) Checks if an update process can be processed.void
dispose()
This is called to dispose the object.Add bendpoint features handle the user's requst to have more connection bendpoints.getAddFeature
(IAddContext context) Add features create graphical representations of domain model objects.Object[]
getAllBusinessObjectsForPictogramElement
(PictogramElement pictogramElement) Returns all business objects which are linked to the given pictogram element.getAllPictogramElementsForBusinessObject
(Object businessObject) Provides the pictogram elements which represents the given business object.getBusinessObjectForPictogramElement
(PictogramElement pictogramElement) Returns the first of possibly several business objects which are linked to the given pictogram element.Gets the create connection features.Provides all create features.getCustomFeatures
(ICustomContext context) Custom features can do anything.getDeleteFeature
(IDeleteContext context) Delete features remove the grapical representations of domain model objects as well as the domain model objects itself.Returns the diagram type provider.Direct editing features handle direct editing functionality (including drop down lists and text completion).final IDirectEditingInfo
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[]
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.protected final IIndependenceSolver
Gets the independence solver.getLayoutFeature
(ILayoutContext context) Layout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.protected ILinkService
getMoveAnchorFeature
(IMoveAnchorContext context) Move features respond to user's move requests.Move features respond to user's move requests.Move features respond to user's move requests.getMoveShapeFeature
(IMoveShapeContext context) Move shape features respond to user's move requests.getPictogramElementForBusinessObject
(Object businessObject) Provides the first pictogram element which represents the given business object.abstract IPrintFeature
It is planned to use this for printing support.Reconnection features handle the change of a connection's start or end anchor.Add bendpoint features handle the user's requst to remove connection bendpoints.getRemoveFeature
(IRemoveContext context) Remove features remove the grapical representations of domain model objects.getResizeShapeFeature
(IResizeShapeContext context) Resize shape features respond to user's resize requests.abstract ISaveImageFeature
It is planned to use this for save as image support.getUpdateFeature
(IUpdateContext context) Update features do the synchronization work and transport data from domain model to pictograms model elements.boolean
hasPictogramElementForBusinessObject
(Object businessObject) Check does there have pictogram element linked to this business object.layoutIfPossible
(ILayoutContext context) Process the layout process.void
link
(PictogramElement pictogramElement, Object businessObject) Links the pictogram element with a business object.void
link
(PictogramElement pictogramElement, Object[] businessObjects) Links the pictogram element with several business objects.protected final void
setIndependenceSolver
(IIndependenceSolver independenceSolver) Sets the independence solver.updateIfPossible
(IUpdateContext context) Process the update process.updateIfPossibleAndNeeded
(IUpdateContext context) Update if possible and needed.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
Methods inherited from interface org.eclipse.graphiti.features.IFeatureProvider
getCopyFeature, getPasteFeature
-
Field Details
-
NO_OBJECTS
protected static final org.eclipse.emf.ecore.EObject[] NO_OBJECTSThe Constant EMPTY_REF_OBJECTS. -
EMPTY_PICTOGRAM_ELEMENTS
The Constant EMPTY_PICTOGRAM_ELEMENTS.
-
-
Constructor Details
-
AbstractFeatureProvider
Creates a newAbstractFeatureProvider
.- Parameters:
diagramTypeProvider
- the diagram type provider
-
-
Method Details
-
getAddFeature
Description copied from interface:IFeatureProvider
Add features create graphical representations of domain model objects.- Specified by:
getAddFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- add feature according to the given context
- See Also:
-
getCreateConnectionFeatures
Description copied from interface:IFeatureProvider
Gets the create connection features.- Specified by:
getCreateConnectionFeatures
in interfaceIFeatureProvider
- Returns:
- all features to create connections
- See Also:
-
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 interfaceIFeatureProvider
- Returns:
- all create features
- See Also:
-
getCustomFeatures
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- custom feature according to the given context
- See Also:
-
getDeleteFeature
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- delete feature according to the given context
- See Also:
-
getDiagramTypeProvider
Description copied from interface:IFeatureProvider
Returns the diagram type provider.- Specified by:
getDiagramTypeProvider
in interfaceIFeatureProvider
- Returns:
- the diagram type provider
- See Also:
-
getMoveAnchorFeature
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- move feature according to the given context
- See Also:
-
getRemoveFeature
Description copied from interface:IFeatureProvider
Remove features remove the grapical representations of domain model objects.- Specified by:
getRemoveFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- remove feature according to the given context
- See Also:
-
getUpdateFeature
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- update feature according to the given context
- See Also:
-
getLayoutFeature
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- layout feature according to the given context
- See Also:
-
getMoveShapeFeature
Description copied from interface:IFeatureProvider
Move shape features respond to user's move requests.- Specified by:
getMoveShapeFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- move feature according to the given context
- See Also:
-
getMoveConnectionDecoratorFeature
public IMoveConnectionDecoratorFeature getMoveConnectionDecoratorFeature(IMoveConnectionDecoratorContext context) Description copied from interface:IFeatureProvider
Move features respond to user's move requests.- Specified by:
getMoveConnectionDecoratorFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- move feature according to the given context
- See Also:
-
getMoveBendpointFeature
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- move feature according to the given context
- See Also:
-
getResizeShapeFeature
Description copied from interface:IFeatureProvider
Resize shape features respond to user's resize requests.- Specified by:
getResizeShapeFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- resize feature according to the given context
- See Also:
-
getAddBendpointFeature
Description copied from interface:IFeatureProvider
Add bendpoint features handle the user's requst to have more connection bendpoints.- Specified by:
getAddBendpointFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- add feature according to the given context
- See Also:
-
getRemoveBendpointFeature
Description copied from interface:IFeatureProvider
Add bendpoint features handle the user's requst to remove connection bendpoints.- Specified by:
getRemoveBendpointFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- remove feature according to the given context
- See Also:
-
getDirectEditingFeature
Description copied from interface:IFeatureProvider
Direct editing features handle direct editing functionality (including drop down lists and text completion).- Specified by:
getDirectEditingFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- direct editing feature according to the given context
- See Also:
-
canUpdate
Description copied from interface:IFeatureProvider
Checks if an update process can be processed. Usually implementers have to check the context.- Specified by:
canUpdate
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason
-
canLayout
Description copied from interface:IFeatureProvider
Checks if an layout process can be processed. Usually implementers have to check the context.- Specified by:
canLayout
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason
-
updateIfPossible
Description copied from interface:IFeatureProvider
Process the update process. Usually reads businees data and modifies pictograms model.- Specified by:
updateIfPossible
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason
-
layoutIfPossible
Description copied from interface:IFeatureProvider
Process the layout process.- Specified by:
layoutIfPossible
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason, simply a
true
IReason
in case the layout operation was executed, afalse
IReason
otherwise.
-
updateNeeded
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 interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason
-
updateIfPossibleAndNeeded
Description copied from interface:IFeatureProvider
Update if possible and needed.- Specified by:
updateIfPossibleAndNeeded
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason
-
addIfPossible
Description copied from interface:IFeatureProvider
Adds the if possible.- Specified by:
addIfPossible
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- added pictogram elements
-
canAdd
Description copied from interface:IFeatureProvider
Can add.- Specified by:
canAdd
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- status and reason
-
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 interfaceIFeatureProvider
- Returns:
IDirectEditingInfo
-
getReconnectionFeature
Description copied from interface:IFeatureProvider
Reconnection features handle the change of a connection's start or end anchor.- Specified by:
getReconnectionFeature
in interfaceIFeatureProvider
- Parameters:
context
- the context- Returns:
- reconnection feature according to the given context
- See Also:
-
getPrintFeature
Description copied from interface:IFeatureProvider
It is planned to use this for printing support. Not yet supported perfectly. The default implementation inAbstractFeatureProvider
returns the an instance ofDefaultPrintFeature
which could be overridden to influence the standard behaviour.
Returnnull
to disable printing.- Specified by:
getPrintFeature
in interfaceIFeatureProvider
- Returns:
- The print feature to use or
null
to disable printing. - See Also:
-
getSaveImageFeature
Description copied from interface:IFeatureProvider
It is planned to use this for save as image support. Not yet supported perfectly. The default implementation inAbstractFeatureProvider
returns the an instance ofDefaultSaveImageFeature
which could be overridden to influence the standard behaviour.
Returnnull
to disable save as image.- Specified by:
getSaveImageFeature
in interfaceIFeatureProvider
- Returns:
- The save feature to use or
null
to disable save as image.
-
getDragAndDropFeatures
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 interfaceIFeatureProvider
- Parameters:
context
- - the pictogram element the drag and drop should be initiated on- Returns:
- an array of features or null.
-
getAllBusinessObjectsForPictogramElement
Description copied from interface:IMappingProvider
Returns all business objects which are linked to the given pictogram element. Equality is determined by calling theEcoreUtil.equals(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
method, but this might be changed by clients by overridingIToolBehaviorProvider.equalsBusinessObjects(Object, Object)
.- Specified by:
getAllBusinessObjectsForPictogramElement
in interfaceIMappingProvider
- 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:
-
getBusinessObjectForPictogramElement
Description copied from interface:IMappingProvider
Returns the first of possibly several business objects which are linked to the given pictogram element. Equality is determined by calling theEcoreUtil.equals(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
method, but this might be changed by clients by overridingIToolBehaviorProvider.equalsBusinessObjects(Object, Object)
. This is a convenience method forIMappingProvider.getAllBusinessObjectsForPictogramElement(PictogramElement)
, because in many usecases only a single business object is linked.- Specified by:
getBusinessObjectForPictogramElement
in interfaceIMappingProvider
- 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:
-
getAllPictogramElementsForBusinessObject
Description copied from interface:IMappingProvider
Provides the pictogram elements which represents the given business object.- Specified by:
getAllPictogramElementsForBusinessObject
in interfaceIMappingProvider
- Parameters:
businessObject
- the given business object- Returns:
- the pictogram elements
-
getPictogramElementForBusinessObject
Provides the first pictogram element which represents the given business object.- Specified by:
getPictogramElementForBusinessObject
in interfaceIMappingProvider
- Parameters:
businessObject
- the business object- Returns:
- the pictogram element for business object
- See Also:
-
hasPictogramElementForBusinessObject
Check does there have pictogram element linked to this business object.- Specified by:
hasPictogramElementForBusinessObject
in interfaceIMappingProvider
- Parameters:
businessObject
- the business object- Returns:
- true when at least one pictogram element is linked, otherwise return false.
-
link
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 interfaceIMappingProvider
- 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
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 interfaceIMappingProvider
- Parameters:
pictogramElement
- The pictogram element which to link to new business objects.businessObjects
- The business objects to link. Can be null or empty to just delete previous links.
-
getIndependenceSolver
Gets the independence solver.- Returns:
- the independence solver
-
setIndependenceSolver
Sets the independence solver.- Parameters:
independenceSolver
- the new independence solver
-
dispose
public void dispose()Description copied from interface:IFeatureProvider
This is called to dispose the object.- Specified by:
dispose
in interfaceIFeatureProvider
-
getLinkService
-