EClass EdgeRouting

Defines an edge routing tool. Typical use case: create references or reference objects. Two different usages: with and without TEMPLATE.

With TEMPLATE: EdgeRouting defines what is created, the TEMPLATE e.g “CRN ‘http://www.oaam.de/oaam/model/v160/functions’ Signal 1”. The edgeDefinition allows with anchors, which SOURCE and TARGET are allowed and does the integration e.g. “ADD #{ROOT} signals #{EDGEITEM}”. Use the TEMPLATE as EDGEITEM.

TEMPLATE case: must have providesTemplate=true and 1 factoryCmd with alias TEMPLATE. The factoryCmd is run once, then the TEMPLATE is cloned every time the tool is successfully used.

Without TEMPLATE: factoryCmd is not run, no EDGEITEM is cloned. Onlye EdgeDefinition.routingCmd is run. This is typically used to modify rather than instantiate an object.

Like a DragAndDrop can “have” multiple DropReception, an EdgeRouting can have multiple EdgeDefinition. The EdgeDefinition matching both anchors is chosen.

Note: for legacy reasons, for EdgeRouting ROOT means EDITORROOT.

ePackage:

tools

inherits from:

Tool

referenced by:

PaletteCategory (via Tool)

contained by:

Editor (via Tool), ToolGenerator (via Tool)

EAttributes

icon (EString)

Defines the path to the tool icon. The path is relative to the editor’s repository URL.

id (EString)

Defines an unique id for the tool.

name (EString)

Defines the tool name.

providesTemplate (EBoolean)

DragAndDrop needs TEMPLATE, referenced as DROPITEM. EdgeRouting can have TEMPLATE, referenced as EDGEITEM. SelectionTool ignores template.

In the factoryCmd, exactly 1 EOQ Command has the alias TEMPLATE. The factoryCmd is run once and the resulting TEMPLATE then is cloned every time the tool is used. So make sure to only run commands in the factory that influence the TEMPLATE. Integration commands go to DropReception/EdgeDefinition.

tooltip (EString)

Defines a tooltip for the tool.

EReferences

anchors (Anchor) (lowerBound=0, upperBound=-1) (containment)

Deprecated since version 0.3.0.

@deprecated Use edgeDefinitons.anchors instead.

edgeDefinitions (EdgeDefinition) (lowerBound=0, upperBound=-1) (containment)

This reference is undocumented.

factoryCmd (CompoundCmd) (lowerBound=0, upperBound=1) (containment)

Defines the command to create the drop item.

routingCmd (CompoundCmd) (lowerBound=0, upperBound=1) (containment)

Deprecated since version 0.3.0.

@deprecated Use .edgeDefinitions.routingCmd instead.