Class NESTWorkflowLayout
java.lang.Object
de.uni_trier.wi2.procake.gui.objecteditor.nestworkfloweditor.NESTWorkflowLayout
- Direct Known Subclasses:
NESTWorkflowLayoutForMxGraph
How to use: Implement abstract methods delivering node and edge dimensions. Init with
NESTWorkflowObject. Set layout options or leave defaults. Call execute() method. Retrieve node
positions and edge paths with the corresponding methods (getNodeXPositions, getNodeYPositions,
getEdgePaths)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classclasshttps://codereview.stackexchange.com/questions/119976/an-iterator-returning-all-possible-partitions-of-a-list-in-java This class implements anIterableover all partitions of a given list. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic booleanprotected NESTWorkflowLayout.LayoutConfigprotected de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject -
Constructor Summary
ConstructorsConstructorDescriptionNESTWorkflowLayout(de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject nestWorkflow) -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()protected Optional<de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject>findReverseDataflowEdge(de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject edge) abstract DimensiongetEdgeLabelSize(de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject edge) getEdgePath(de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject edge) abstract DimensiongetNodeSize(de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject node) intgetNodeXPosition(de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject node) intgetNodeYPosition(de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject node) booleanThe layout only works properly when certain constraints (concerning the controlflow) on the graph are met.booleanvoidsetExecuteOnEdgeInsertion(boolean executeOnEdgeInsertion) voidsetLayoutConfig(NESTWorkflowLayout.LayoutConfig layoutConfig) voidsetNestWorkflow(de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject nestWorkflow)
-
Field Details
-
layoutConfig
-
DEFAULT_EXECUTE_ON_EDGE_INSERTION
public static boolean DEFAULT_EXECUTE_ON_EDGE_INSERTION -
nestWorkflow
protected de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject nestWorkflow -
nodeYPositions
-
nodeXPositions
-
nodeYPositionsById
-
nodeXPositionsById
-
edgePaths
-
-
Constructor Details
-
NESTWorkflowLayout
public NESTWorkflowLayout(de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject nestWorkflow)
-
-
Method Details
-
execute
public void execute() -
findReverseDataflowEdge
protected Optional<de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject> findReverseDataflowEdge(de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject edge) -
isApplicable
public boolean isApplicable()The layout only works properly when certain constraints (concerning the controlflow) on the graph are met. This method is used to check the NESTWorkflow for these constraints to determine whether an alternative layout should be run.- Returns:
- whether the needed constraints to apply NESTWorkflowLayout are met
-
getEdgeLabelSize
public abstract Dimension getEdgeLabelSize(de.uni_trier.wi2.procake.data.object.nest.NESTEdgeObject edge) - Parameters:
edge- A NESTEdgeObject- Returns:
- dimension of the label of the given NESTEdgeObject
-
getNodeSize
public abstract Dimension getNodeSize(de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject node) - Parameters:
node- A NESTNodeObject- Returns:
- dimension of the visual representation of the given NESTNodeObject
-
getNodeXPositions
-
getNodeXPosition
public int getNodeXPosition(de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject node) -
getNodeYPositions
-
getNodeYPosition
public int getNodeYPosition(de.uni_trier.wi2.procake.data.object.nest.NESTNodeObject node) -
getEdgePaths
-
getEdgePath
-
getLayoutConfig
-
setLayoutConfig
-
isExecuteOnEdgeInsertion
public boolean isExecuteOnEdgeInsertion() -
setExecuteOnEdgeInsertion
public void setExecuteOnEdgeInsertion(boolean executeOnEdgeInsertion) -
setNestWorkflow
public void setNestWorkflow(de.uni_trier.wi2.procake.data.object.nest.NESTAbstractWorkflowObject nestWorkflow)
-