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
FieldsModifier 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
ConstructorsConstructorDescriptionAbstractFeatureProvider(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.voiddispose()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 IDirectEditingInfoIf 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 IIndependenceSolverGets the independence solver.getLayoutFeature(ILayoutContext context) Layout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.protected ILinkServicegetMoveAnchorFeature(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 IPrintFeatureIt 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 ISaveImageFeatureIt 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.booleanhasPictogramElementForBusinessObject(Object businessObject) Check does there have pictogram element linked to this business object.layoutIfPossible(ILayoutContext context) Process the layout process.voidlink(PictogramElement pictogramElement, Object businessObject) Links the pictogram element with a business object.voidlink(PictogramElement pictogramElement, Object[] businessObjects) Links the pictogram element with several business objects.protected final voidsetIndependenceSolver(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, waitMethods 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:IFeatureProviderAdd features create graphical representations of domain model objects.- Specified by:
getAddFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- add feature according to the given context
- See Also:
-
getCreateConnectionFeatures
Description copied from interface:IFeatureProviderGets the create connection features.- Specified by:
getCreateConnectionFeaturesin interfaceIFeatureProvider- Returns:
- all features to create connections
- See Also:
-
getCreateFeatures
Description copied from interface:IFeatureProviderProvides all create features. In the graphics framework they will be visualized in an editor as create tools.- Specified by:
getCreateFeaturesin interfaceIFeatureProvider- Returns:
- all create features
- See Also:
-
getCustomFeatures
Description copied from interface:IFeatureProviderCustom features can do anything. Their functionality can not be planned by the graphics framework (team).- Specified by:
getCustomFeaturesin interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- custom feature according to the given context
- See Also:
-
getDeleteFeature
Description copied from interface:IFeatureProviderDelete features remove the grapical representations of domain model objects as well as the domain model objects itself.- Specified by:
getDeleteFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- delete feature according to the given context
- See Also:
-
getDiagramTypeProvider
Description copied from interface:IFeatureProviderReturns the diagram type provider.- Specified by:
getDiagramTypeProviderin interfaceIFeatureProvider- Returns:
- the diagram type provider
- See Also:
-
getMoveAnchorFeature
Description copied from interface:IFeatureProviderMove features respond to user's move requests. This one is especially for fix point anchors (FixPointAnchor).- Specified by:
getMoveAnchorFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- move feature according to the given context
- See Also:
-
getRemoveFeature
Description copied from interface:IFeatureProviderRemove features remove the grapical representations of domain model objects.- Specified by:
getRemoveFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- remove feature according to the given context
- See Also:
-
getUpdateFeature
Description copied from interface:IFeatureProviderUpdate features do the synchronization work and transport data from domain model to pictograms model elements.- Specified by:
getUpdateFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- update feature according to the given context
- See Also:
-
getLayoutFeature
Description copied from interface:IFeatureProviderLayout features do the layouting work (sizes and dimensions) inside (and/or) outside a pictogram element.- Specified by:
getLayoutFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- layout feature according to the given context
- See Also:
-
getMoveShapeFeature
Description copied from interface:IFeatureProviderMove shape features respond to user's move requests.- Specified by:
getMoveShapeFeaturein 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:IFeatureProviderMove features respond to user's move requests.- Specified by:
getMoveConnectionDecoratorFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- move feature according to the given context
- See Also:
-
getMoveBendpointFeature
Description copied from interface:IFeatureProviderMove features respond to user's move requests. This one is especially for fix point anchors (FixPointAnchor).- Specified by:
getMoveBendpointFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- move feature according to the given context
- See Also:
-
getResizeShapeFeature
Description copied from interface:IFeatureProviderResize shape features respond to user's resize requests.- Specified by:
getResizeShapeFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- resize feature according to the given context
- See Also:
-
getAddBendpointFeature
Description copied from interface:IFeatureProviderAdd bendpoint features handle the user's requst to have more connection bendpoints.- Specified by:
getAddBendpointFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- add feature according to the given context
- See Also:
-
getRemoveBendpointFeature
Description copied from interface:IFeatureProviderAdd bendpoint features handle the user's requst to remove connection bendpoints.- Specified by:
getRemoveBendpointFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- remove feature according to the given context
- See Also:
-
getDirectEditingFeature
Description copied from interface:IFeatureProviderDirect editing features handle direct editing functionality (including drop down lists and text completion).- Specified by:
getDirectEditingFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- direct editing feature according to the given context
- See Also:
-
canUpdate
Description copied from interface:IFeatureProviderChecks if an update process can be processed. Usually implementers have to check the context.- Specified by:
canUpdatein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason
-
canLayout
Description copied from interface:IFeatureProviderChecks if an layout process can be processed. Usually implementers have to check the context.- Specified by:
canLayoutin interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason
-
updateIfPossible
Description copied from interface:IFeatureProviderProcess the update process. Usually reads businees data and modifies pictograms model.- Specified by:
updateIfPossiblein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason
-
layoutIfPossible
Description copied from interface:IFeatureProviderProcess the layout process.- Specified by:
layoutIfPossiblein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason, simply a
trueIReasonin case the layout operation was executed, afalseIReasonotherwise.
-
updateNeeded
Description copied from interface:IFeatureProviderChecks if an update process is needed and has be processed. Usually implementers have to compare pictograms and business data.- Specified by:
updateNeededin interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason
-
updateIfPossibleAndNeeded
Description copied from interface:IFeatureProviderUpdate if possible and needed.- Specified by:
updateIfPossibleAndNeededin interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason
-
addIfPossible
Description copied from interface:IFeatureProviderAdds the if possible.- Specified by:
addIfPossiblein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- added pictogram elements
-
canAdd
Description copied from interface:IFeatureProviderCan add.- Specified by:
canAddin interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- status and reason
-
getDirectEditingInfo
Description copied from interface:IFeatureProviderIf 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:
getDirectEditingInfoin interfaceIFeatureProvider- Returns:
IDirectEditingInfo
-
getReconnectionFeature
Description copied from interface:IFeatureProviderReconnection features handle the change of a connection's start or end anchor.- Specified by:
getReconnectionFeaturein interfaceIFeatureProvider- Parameters:
context- the context- Returns:
- reconnection feature according to the given context
- See Also:
-
getPrintFeature
Description copied from interface:IFeatureProviderIt is planned to use this for printing support. Not yet supported perfectly. The default implementation inAbstractFeatureProviderreturns the an instance ofDefaultPrintFeaturewhich could be overridden to influence the standard behaviour.
Returnnullto disable printing.- Specified by:
getPrintFeaturein interfaceIFeatureProvider- Returns:
- The print feature to use or
nullto disable printing. - See Also:
-
getSaveImageFeature
Description copied from interface:IFeatureProviderIt is planned to use this for save as image support. Not yet supported perfectly. The default implementation inAbstractFeatureProviderreturns the an instance ofDefaultSaveImageFeaturewhich could be overridden to influence the standard behaviour.
Returnnullto disable save as image.- Specified by:
getSaveImageFeaturein interfaceIFeatureProvider- Returns:
- The save feature to use or
nullto disable save as image.
-
getDragAndDropFeatures
Description copied from interface:IFeatureProviderif 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:
getDragAndDropFeaturesin 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:IMappingProviderReturns 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:
getAllBusinessObjectsForPictogramElementin 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:IMappingProviderReturns 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:
getBusinessObjectForPictogramElementin 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:IMappingProviderProvides the pictogram elements which represents the given business object.- Specified by:
getAllPictogramElementsForBusinessObjectin 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:
getPictogramElementForBusinessObjectin 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:
hasPictogramElementForBusinessObjectin interfaceIMappingProvider- Parameters:
businessObject- the business object- Returns:
- true when at least one pictogram element is linked, otherwise return false.
-
link
Description copied from interface:IMappingProviderLinks the pictogram element with a business object. This deletes all previous links of this pictogram element.- Specified by:
linkin 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:IMappingProviderLinks the pictogram element with several business objects. This deletes all previous links of this pictogram element.- Specified by:
linkin 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:IFeatureProviderThis is called to dispose the object.- Specified by:
disposein interfaceIFeatureProvider
-
getLinkService
-