134 lines
3.8 KiB
YAML
134 lines
3.8 KiB
YAML
|
name: GraphvizDumper
|
||
|
class_comment: "# * GraphvizDumper dumps a workflow as a graphviz file.\n# *\n# *\
|
||
|
\ You can convert the generated dot file with the dot utility (https://graphviz.org/):\n\
|
||
|
# *\n# * dot -Tpng workflow.dot > workflow.png\n# *\n# * @author Fabien Potencier\
|
||
|
\ <fabien@symfony.com>\n# * @author Gr\xE9goire Pineau <lyrixx@lyrixx.info>"
|
||
|
dependencies:
|
||
|
- name: Definition
|
||
|
type: class
|
||
|
source: Symfony\Component\Workflow\Definition
|
||
|
- name: Marking
|
||
|
type: class
|
||
|
source: Symfony\Component\Workflow\Marking
|
||
|
properties: []
|
||
|
methods:
|
||
|
- name: dump
|
||
|
visibility: public
|
||
|
parameters:
|
||
|
- name: definition
|
||
|
- name: marking
|
||
|
default: 'null'
|
||
|
- name: options
|
||
|
default: '[]'
|
||
|
comment: "# * GraphvizDumper dumps a workflow as a graphviz file.\n# *\n# * You\
|
||
|
\ can convert the generated dot file with the dot utility (https://graphviz.org/):\n\
|
||
|
# *\n# * dot -Tpng workflow.dot > workflow.png\n# *\n# * @author Fabien Potencier\
|
||
|
\ <fabien@symfony.com>\n# * @author Gr\xE9goire Pineau <lyrixx@lyrixx.info>\n\
|
||
|
# */\n# class GraphvizDumper implements DumperInterface\n# {\n# // All values\
|
||
|
\ should be strings\n# protected static array $defaultOptions = [\n# 'graph' =>\
|
||
|
\ ['ratio' => 'compress', 'rankdir' => 'LR'],\n# 'node' => ['fontsize' => '9',\
|
||
|
\ 'fontname' => 'Arial', 'color' => '#333333', 'fillcolor' => 'lightblue', 'fixedsize'\
|
||
|
\ => 'false', 'width' => '1'],\n# 'edge' => ['fontsize' => '9', 'fontname' =>\
|
||
|
\ 'Arial', 'color' => '#333333', 'arrowhead' => 'normal', 'arrowsize' => '0.5'],\n\
|
||
|
# ];\n# \n# /**\n# * Dumps the workflow as a graphviz graph.\n# *\n# * Available\
|
||
|
\ options:\n# *\n# * * graph: The default options for the whole graph\n# * *\
|
||
|
\ node: The default options for nodes (places + transitions)\n# * * edge: The\
|
||
|
\ default options for edges"
|
||
|
- name: findPlaces
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: definition
|
||
|
- name: withMetadata
|
||
|
- name: marking
|
||
|
default: 'null'
|
||
|
comment: '# * @internal'
|
||
|
- name: findTransitions
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: definition
|
||
|
- name: withMetadata
|
||
|
comment: '# * @internal'
|
||
|
- name: addPlaces
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: places
|
||
|
- name: withMetadata
|
||
|
comment: '# * @internal'
|
||
|
- name: addTransitions
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: transitions
|
||
|
- name: withMetadata
|
||
|
comment: '# * @internal'
|
||
|
- name: findEdges
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: definition
|
||
|
comment: '# * @internal'
|
||
|
- name: addEdges
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: edges
|
||
|
comment: '# * @internal'
|
||
|
- name: startDot
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: options
|
||
|
- name: label
|
||
|
comment: '# * @internal'
|
||
|
- name: endDot
|
||
|
visibility: protected
|
||
|
parameters: []
|
||
|
comment: '# * @internal'
|
||
|
- name: dotize
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: id
|
||
|
comment: '# * @internal'
|
||
|
- name: escape
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: value
|
||
|
comment: '# * @internal'
|
||
|
- name: addAttributes
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: attributes
|
||
|
comment: '# * @internal'
|
||
|
- name: formatLabel
|
||
|
visibility: protected
|
||
|
parameters:
|
||
|
- name: definition
|
||
|
- name: withMetadata
|
||
|
- name: options
|
||
|
comment: '# * Handles the label of the graph depending on whether a label was set
|
||
|
in CLI,
|
||
|
|
||
|
# * if metadata should be included and if there are any.
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * The produced label must be escaped.
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * @internal'
|
||
|
- name: addOptions
|
||
|
visibility: private
|
||
|
parameters:
|
||
|
- name: options
|
||
|
comment: null
|
||
|
- name: addMetadata
|
||
|
visibility: private
|
||
|
parameters:
|
||
|
- name: metadata
|
||
|
- name: lineBreakFirstIfNotEmpty
|
||
|
default: 'true'
|
||
|
comment: '# * @param bool $lineBreakFirstIfNotEmpty Whether to add a separator in
|
||
|
the first place when metadata is not empty'
|
||
|
traits:
|
||
|
- Symfony\Component\Workflow\Definition
|
||
|
- Symfony\Component\Workflow\Marking
|
||
|
interfaces:
|
||
|
- DumperInterface
|