cascading.util

## Class DOTProcessGraphWriter

- java.lang.Object
- - cascading.util.DOTProcessGraphWriter

    public class DOTProcessGraphWriter
    extends java.lang.Object

This class is a derivative of the JGraphT DOTExporter, with numerous enhancements but with retained compatibility.

### Field Summary

Fields
`static java.lang.String` `CONNECTOR`
`static java.lang.String` `INDENT`

### Constructor Summary

Constructors
Constructor and Description

`DOTProcessGraphWriter(VertexNameProvider<Pair<ElementGraph,FlowElement>> vertexIDProvider, VertexNameProvider<FlowElement> vertexLabelProvider, EdgeNameProvider<Scope> edgeLabelProvider, ComponentAttributeProvider<FlowElement> vertexAttributeProvider, ComponentAttributeProvider<Scope> edgeAttributeProvider, VertexNameProvider<ProcessModel> clusterIDProvider, VertexNameProvider<ProcessModel> clusterLabelProvider)`

### Method Summary

Methods
`protected java.util.Set<FlowElement>` `getIdentityElements(ProcessGraph<? extends ProcessModel> processGraph)`
`protected java.util.Set<FlowElement>` `getSpanElements(ProcessGraph<? extends ProcessModel> processGraph)`
`protected void` `writeEdgeSet(ProcessGraph<? extends ProcessModel> processGraph, ElementGraph parentGraph, ElementGraph currentGraph, java.io.PrintWriter out, java.util.Set<FlowElement> spansClusters, boolean renderSpans, java.util.Set<FlowElement> identityElements)` if renderSpans == true, write edges if either side crosses a node boundary.
`void` `writeGraph(java.io.Writer writer, ElementGraph parentGraph, ProcessGraph<? extends ProcessModel> processGraph)`
`protected void` `writeVertexSet(ProcessModel processModel, ElementGraph parentGraph, ElementGraph currentGraph, java.io.PrintWriter out, java.util.Set<FlowElement> spansClusters, boolean onlySpans, java.util.Set<FlowElement> duplicatedElements, java.util.Set<FlowElement> identityElements)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### INDENT

    public static final java.lang.String INDENT

See Also:
  Constant Field Values

#### CONNECTOR

    public static final java.lang.String CONNECTOR

See Also:
  Constant Field Values

### Constructor Detail

#### DOTProcessGraphWriter

    public DOTProcessGraphWriter(VertexNameProvider<Pair<ElementGraph,FlowElement>> vertexIDProvider,
                         VertexNameProvider<FlowElement> vertexLabelProvider,
                         EdgeNameProvider<Scope> edgeLabelProvider,
                         ComponentAttributeProvider<FlowElement> vertexAttributeProvider,
                         ComponentAttributeProvider<Scope> edgeAttributeProvider,
                         VertexNameProvider<ProcessModel> clusterIDProvider,
                         VertexNameProvider<ProcessModel> clusterLabelProvider)

### Method Detail

#### writeGraph

    public void writeGraph(java.io.Writer writer,
                  ElementGraph parentGraph,
                  ProcessGraph<? extends ProcessModel> processGraph)

#### getIdentityElements

    protected java.util.Set<FlowElement> getIdentityElements(ProcessGraph<? extends ProcessModel> processGraph)

#### getSpanElements

    protected java.util.Set<FlowElement> getSpanElements(ProcessGraph<? extends ProcessModel> processGraph)

#### writeEdgeSet

    protected void writeEdgeSet(ProcessGraph<? extends ProcessModel> processGraph,
                    ElementGraph parentGraph,
                    ElementGraph currentGraph,
                    java.io.PrintWriter out,
                    java.util.Set<FlowElement> spansClusters,
                    boolean renderSpans,
                    java.util.Set<FlowElement> identityElements)

if renderSpans == true, write edges if either side crosses a node boundary. if renderSpans == false, only write edged that are contained in a node

#### writeVertexSet

    protected void writeVertexSet(ProcessModel processModel,
                      ElementGraph parentGraph,
                      ElementGraph currentGraph,
                      java.io.PrintWriter out,
                      java.util.Set<FlowElement> spansClusters,
                      boolean onlySpans,
                      java.util.Set<FlowElement> duplicatedElements,
                      java.util.Set<FlowElement> identityElements)