## cascading.flow.planner
Class ElementGraph

    java.lang.Object
      org.jgrapht.graph.AbstractGraph<V,E>
          org.jgrapht.graph.AbstractBaseGraph<V,E>
              org.jgrapht.graph.SimpleDirectedGraph<FlowElement,Scope>
                  cascading.flow.planner.ElementGraph

All Implemented Interfaces:
  Serializable, Cloneable, org.jgrapht.DirectedGraph<FlowElement,Scope>, org.jgrapht.Graph<FlowElement,Scope>

    public class ElementGraph

extends org.jgrapht.graph.SimpleDirectedGraph<FlowElement,Scope>

Class ElementGraph represents the executable FlowElement graph.

See Also:
  Serialized Form

Nested Class Summary
`static class` `ElementGraph.Extent`

Field Summary
`static ElementGraph.Extent` `head` Field head
`static ElementGraph.Extent` `tail` Field tail

Constructor Summary
`ElementGraph(ElementGraph elementGraph)`
`ElementGraph(PlatformInfo platformInfo, Pipe[] pipes, Map<String,Tap> sources, Map<String,Tap> sinks, Map<String,Tap> traps, Map<String,Tap> checkpoints, boolean requireUniqueCheckpoints, PlannerLevel... plannerLevels)` Constructor ElementGraph creates a new ElementGraph instance.

Method Summary
`ElementGraph` `copyElementGraph()` Method copyGraph returns a partial copy of the current ElementGraph.
`List<CoGroup>` `findAllCoGroups()`
`List<Each>` `findAllEachSplits()` Method findAllSplits ...
`List<Every>` `findAllEveries()` Method findAllEveries ...
`List<Group>` `findAllGroups()` Method findAllGroups ...
`List<Group>` `findAllMergeJoinGroups()` Finds all groups that merge/join streams.
`List<Splice>` `findAllMergeJoinSplices()` Finds all splices that merge/join streams.

`

`<P> List<P>`

`

`findAllOfType(int minInDegree, int minOutDegree, Class<P> type, List<P> results)`
Method findAllOfType ...

`List<Pipe>` `findAllPipeSplits()`
`List<Tap>` `findAllTaps()` Method findAllTaps ...
`Set<FlowElement>` `getAllChildrenNotExactlyType(FlowElement flowElement, Class<? extends FlowElement> type)`

`

`<A extends FlowElement> Set<A>`

`

`getAllChildrenOfType(FlowElement flowElement, Class<A> type)`

`List<org.jgrapht.GraphPath<FlowElement,Scope>>` `getAllShortestPathsBetweenExtents()` Method getAllShortestPathsBetweenExtents returns the allShortestPathsBetweenExtents of this ElementGraph object.
`List<org.jgrapht.GraphPath<FlowElement,Scope>>` `getAllShortestPathsFrom(FlowElement flowElement)` Method getAllShortestPathsFrom ...
`List<org.jgrapht.GraphPath<FlowElement,Scope>>` `getAllShortestPathsTo(FlowElement flowElement)` Method getAllShortestPathsTo ...
`List<FlowElement>` `getAllSuccessors(FlowElement element)`
`Map<String,Tap>` `getCheckpointsMap()`
`org.jgrapht.traverse.DepthFirstIterator<FlowElement,Scope>` `getDepthFirstIterator()` Method getDepthFirstIterator returns the depthFirstIterator of this ElementGraph object.
`int` `getMaxNumPathsBetweenElementAndGroupingMergeJoin(FlowElement flowElement)`
`Map<String,Tap>` `getSinkMap()`
`Collection<Tap>` `getSinks()`
`Map<String,Tap>` `getSourceMap()`
`Collection<Tap>` `getSources()`
`org.jgrapht.traverse.TopologicalOrderIterator<FlowElement,Scope>` `getTopologicalIterator()` Method getTopologicalIterator returns the topologicalIterator of this ElementGraph object.
`Map<String,Tap>` `getTrapMap()`
`Collection<Tap>` `getTraps()`
`void` `insertFlowElementAfter(FlowElement previousElement, FlowElement flowElement)`
`org.jgrapht.graph.SimpleDirectedGraph<Tap,Integer>` `makeTapGraph()` Method makeTapGraph returns a directed graph of all taps in the current element graph.
`protected void` `printElementGraph(String filename, org.jgrapht.graph.SimpleDirectedGraph<FlowElement,Scope> graph)`
`void` `removeUnnecessaryPipes()` Method removeEmptyPipes performs a depth first traversal and removes instance of `Pipe` or `SubAssembly`.
`void` `replaceElementWith(FlowElement element, FlowElement replacement)`
`void` `resolveFields()` Method resolveFields performs a breadth first traversal and resolves the tuple fields between each Pipe instance.
`void` `writeDOT(String filename)` Method writeDOT writes this element graph to a DOT file for easy visualization and debugging.

Methods inherited from class org.jgrapht.graph.AbstractBaseGraph
`addEdge, addEdge, addVertex, clone, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, getEdgeWeight, incomingEdgesOf, inDegreeOf, isAllowingLoops, isAllowingMultipleEdges, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, setEdgeSetFactory, setEdgeWeight, vertexSet`

Methods inherited from class org.jgrapht.graph.AbstractGraph
`assertVertexExist, containsEdge, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toString, toStringFromSets`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.jgrapht.DirectedGraph
`incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf`

Methods inherited from interface org.jgrapht.Graph
`addEdge, addEdge, addVertex, containsEdge, containsEdge, containsVertex, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, getEdgeWeight, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, vertexSet`

Field Detail

### head

    public static final ElementGraph.Extent head

  Field head

### tail

    public static final ElementGraph.Extent tail

  Field tail

Constructor Detail

### ElementGraph

    public ElementGraph(ElementGraph elementGraph)

### ElementGraph

    public ElementGraph(PlatformInfo platformInfo,
                        Pipe[] pipes,
                        Map<String,Tap> sources,
                        Map<String,Tap> sinks,
                        Map<String,Tap> traps,
                        Map<String,Tap> checkpoints,
                        boolean requireUniqueCheckpoints,
                        PlannerLevel... plannerLevels)

  Constructor ElementGraph creates a new ElementGraph instance.

  Parameters:
    `pipes` - of type Pipe[]
    `sources` - of type Map<String, Tap>
    `sinks` - of type Map<String, Tap>

Method Detail

### getSourceMap

    public Map<String,Tap> getSourceMap()

### getSinkMap

    public Map<String,Tap> getSinkMap()

### getTrapMap

    public Map<String,Tap> getTrapMap()

### getCheckpointsMap

    public Map<String,Tap> getCheckpointsMap()

### getSources

    public Collection<Tap> getSources()

### getSinks

    public Collection<Tap> getSinks()

### getTraps

    public Collection<Tap> getTraps()

### copyElementGraph

    public ElementGraph copyElementGraph()

  Method copyGraph returns a partial copy of the current ElementGraph. Only Vertices and Edges are copied.

  Returns:
    ElementGraph

### getTopologicalIterator

    public org.jgrapht.traverse.TopologicalOrderIterator<FlowElement,Scope> getTopologicalIterator()

  Method getTopologicalIterator returns the topologicalIterator of this ElementGraph object.

  Returns:
    the topologicalIterator (type TopologicalOrderIterator<FlowElement, Scope>) of this ElementGraph object.

### getAllShortestPathsFrom

    public List<org.jgrapht.GraphPath<FlowElement,Scope>> getAllShortestPathsFrom(FlowElement flowElement)

  Method getAllShortestPathsFrom ...

  Parameters:
    `flowElement` - of type FlowElement
  Returns:
    List<GraphPath<FlowElement, Scope>>

### getAllShortestPathsTo

    public List<org.jgrapht.GraphPath<FlowElement,Scope>> getAllShortestPathsTo(FlowElement flowElement)

  Method getAllShortestPathsTo ...

  Parameters:
    `flowElement` - of type FlowElement
  Returns:
    List<GraphPath<FlowElement, Scope>>

### getAllShortestPathsBetweenExtents

    public List<org.jgrapht.GraphPath<FlowElement,Scope>> getAllShortestPathsBetweenExtents()

  Method getAllShortestPathsBetweenExtents returns the allShortestPathsBetweenExtents of this ElementGraph object.

  Returns:
    the allShortestPathsBetweenExtents (type List<GraphPath<FlowElement, Scope>>) of this ElementGraph object.

### getDepthFirstIterator

    public org.jgrapht.traverse.DepthFirstIterator<FlowElement,Scope> getDepthFirstIterator()

  Method getDepthFirstIterator returns the depthFirstIterator of this ElementGraph object.

  Returns:
    the depthFirstIterator (type DepthFirstIterator<FlowElement, Scope>) of this ElementGraph object.

### writeDOT

    public void writeDOT(String filename)

  Method writeDOT writes this element graph to a DOT file for easy visualization and debugging.

  Parameters:
    `filename` - of type String

### printElementGraph

    protected void printElementGraph(String filename,
                                     org.jgrapht.graph.SimpleDirectedGraph<FlowElement,Scope> graph)

### removeUnnecessaryPipes

    public void removeUnnecessaryPipes()

  Method removeEmptyPipes performs a depth first traversal and removes instance of `Pipe` or `SubAssembly`.

### resolveFields

    public void resolveFields()

  Method resolveFields performs a breadth first traversal and resolves the tuple fields between each Pipe instance.

### findAllMergeJoinGroups

    public List<Group> findAllMergeJoinGroups()

  Finds all groups that merge/join streams. returned in topological order.

  Returns:
    a List fo Group instances

### findAllMergeJoinSplices

    public List<Splice> findAllMergeJoinSplices()

  Finds all splices that merge/join streams. returned in topological order.

  Returns:
    a List fo Group instances

### findAllCoGroups

    public List<CoGroup> findAllCoGroups()

### findAllGroups

    public List<Group> findAllGroups()

  Method findAllGroups ...

  Returns:
    List<Group>

### findAllEveries

    public List<Every> findAllEveries()

  Method findAllEveries ...

  Returns:
    List<Every>

### findAllTaps

    public List<Tap> findAllTaps()

  Method findAllTaps ...

  Returns:
    List<Tap>

### findAllEachSplits

    public List<Each> findAllEachSplits()

  Method findAllSplits ...

  Returns:
    List<FlowElement>

### findAllPipeSplits

    public List<Pipe> findAllPipeSplits()

### findAllOfType

    public <P> List<P> findAllOfType(int minInDegree,
                                     int minOutDegree,
                                     Class<P> type,
                                     List<P> results)

  Method findAllOfType ...

  Parameters:
    `minInDegree` - of type int
    `minOutDegree` -
    `type` - of type Class

    `results` - of type List

    @return List

### insertFlowElementAfter

    public void insertFlowElementAfter(FlowElement previousElement,
                                       FlowElement flowElement)

### makeTapGraph

    public org.jgrapht.graph.SimpleDirectedGraph<Tap,Integer> makeTapGraph()

  Method makeTapGraph returns a directed graph of all taps in the current element graph.

  Returns:
    SimpleDirectedGraph<Tap, Integer>

### getMaxNumPathsBetweenElementAndGroupingMergeJoin

    public int getMaxNumPathsBetweenElementAndGroupingMergeJoin(FlowElement flowElement)

### getAllSuccessors

    public List<FlowElement> getAllSuccessors(FlowElement element)

### replaceElementWith

    public void replaceElementWith(FlowElement element,
                                   FlowElement replacement)

### getAllChildrenOfType

    public <A extends FlowElement> Set<A> getAllChildrenOfType(FlowElement flowElement,
                                                               Class<A> type)

### getAllChildrenNotExactlyType

    public Set<FlowElement> getAllChildrenNotExactlyType(FlowElement flowElement,
                                                         Class<? extends FlowElement> type)

Copyright © 2007-2014 Concurrent, Inc. All Rights Reserved.