platform/api/symfony/Component/Workflow/Dumper/GraphvizDumper.yaml
2024-09-02 10:44:11 -07:00

133 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