## Uses of Class
edu.isi.pegasus.planner.partitioner.graph.GraphNode

Packages that use GraphNode
edu.isi.pegasus.planner.classes
edu.isi.pegasus.planner.cluster
edu.isi.pegasus.planner.parser.dax
edu.isi.pegasus.planner.partitioner
edu.isi.pegasus.planner.partitioner.graph
edu.isi.pegasus.planner.refiner
edu.isi.pegasus.planner.refiner.cleanup
edu.isi.pegasus.planner.selector.site.heft

### Uses of GraphNode in edu.isi.pegasus.planner.classes

Methods in edu.isi.pegasus.planner.classes that return GraphNode
`GraphNode` AggregatedJob.`getNode(java.lang.String identifier)` Returns the node matching the id passed.
`GraphNode` ADag.`getNode(java.lang.String identifier)` Returns the node matching the id passed.

Methods in edu.isi.pegasus.planner.classes that return types with arguments of type GraphNode
`java.util.Iterator<GraphNode>` ADag.`bottomUpIterator()` Returns an iterator that traverses the graph bottom up from the leaves.
`java.util.List<GraphNode>` AggregatedJob.`getLeaves()` Returns the leaf nodes of the Graph.
`java.util.List<GraphNode>` ADag.`getLeaves()` Returns the leaf nodes of the Graph.
`java.util.List<GraphNode>` AggregatedJob.`getRoots()` Returns the root nodes of the Graph.
`java.util.List<GraphNode>` ADag.`getRoots()` Returns the root nodes of the Graph.
`java.util.Iterator<GraphNode>` AggregatedJob.`iterator()` Returns an iterator that traverses through the graph using a graph traversal algorithm.
`java.util.Iterator<GraphNode>` ADag.`iterator()` Returns an iterator that traverses through the graph using a graph traversal algorithm.
`java.util.Iterator<GraphNode>` ADag.`jobIterator()` Returns an iterator for traversing through the jobs in the workflow.
`java.util.Iterator<GraphNode>` AggregatedJob.`nodeIterator()` Returns an iterator for the nodes in the Graph.
`java.util.Iterator<GraphNode>` ADag.`nodeIterator()` Returns an iterator for the nodes in the Graph.
`java.util.Iterator<GraphNode>` AggregatedJob.`topologicalSortIterator()` Returns an iterator for the graph that traverses in topological sort order.
`java.util.Iterator<GraphNode>` ADag.`topologicalSortIterator()` Returns an iterator for the graph that traverses in topological sort order.

Methods in edu.isi.pegasus.planner.classes with parameters of type GraphNode
`void` AggregatedJob.`addEdge(GraphNode parent, GraphNode child)` Adds an edge between two already existing nodes in the graph.
`void` ADag.`addEdge(GraphNode parent, GraphNode child)` Adds an edge between two already existing nodes in the graph.
`void` AggregatedJob.`addNode(GraphNode node)` Adds a node to the Graph.
`void` ADag.`addNode(GraphNode node)` Adds a node to the Graph.
`void` AggregatedJob.`addRoot(GraphNode root)` Adds a single root node to the Graph.
`void` ADag.`addRoot(GraphNode root)` Adds a single root node to the Graph.
`private java.lang.String` ADag.`complain(java.lang.String desc, GraphNode node, GraphNode linkedNode)` Convenience method to complain for a linked node from a node that does not exist in the DAG

### Uses of GraphNode in edu.isi.pegasus.planner.cluster

Methods in edu.isi.pegasus.planner.cluster with parameters of type GraphNode
`static Partitioner` ClustererFactory.`loadPartitioner(PegasusProperties properties, java.lang.String type, GraphNode root, java.util.Map graph)` Loads the appropriate partitioner on the basis of the clustering type specified in the options passed to the planner.

### Uses of GraphNode in edu.isi.pegasus.planner.parser.dax

Fields in edu.isi.pegasus.planner.parser.dax declared as GraphNode
`protected GraphNode` DAX2Graph.`mRoot` The root node for the graph that is constructed.

Methods in edu.isi.pegasus.planner.parser.dax that return GraphNode
`GraphNode` DAX2NewGraph.`get(java.lang.String key)` Returns the `GraphNode` of the corresponding id.

### Uses of GraphNode in edu.isi.pegasus.planner.partitioner

Fields in edu.isi.pegasus.planner.partitioner declared as GraphNode
`private GraphNode` Partition.`mLastAddedNode` A pointer to the last added node to the partition.
`protected GraphNode` Partitioner.`mRoot` The root node of the graph from where to start the BFS.

Methods in edu.isi.pegasus.planner.partitioner that return GraphNode
`GraphNode` Partition.`lastAddedNode()` Returns the last added node to the partition.

Methods in edu.isi.pegasus.planner.partitioner that return types with arguments of type GraphNode
`java.util.List<GraphNode>` Partition.`getNodes()` Returns a list of nodes making up the partition.

Methods in edu.isi.pegasus.planner.partitioner with parameters of type GraphNode
`void` Partition.`addNode(GraphNode node)` Adds a node to the partition.
`private java.lang.String` Label.`getLabel(GraphNode node)` Returns the label for the node.
`static Partitioner` PartitionerFactory.`loadInstance(PegasusProperties properties, GraphNode root, java.util.Map graph, java.lang.String className)` Loads the implementing class corresponding to the type specified by the user.

Constructors in edu.isi.pegasus.planner.partitioner with parameters of type GraphNode
Constructor and Description
`BFS(GraphNode root, java.util.Map graph, PegasusProperties properties)` The overloaded constructor.
`Horizontal(GraphNode root, java.util.Map graph, PegasusProperties properties)` The overloaded constructor.
`Label(GraphNode root, java.util.Map graph, PegasusProperties properties)` The overloaded constructor.
`One2One(GraphNode root, java.util.Map graph, PegasusProperties properties)` The overloaded constructor.
`Partitioner(GraphNode root, java.util.Map graph, PegasusProperties properties)` The overloaded constructor.
`Whole(GraphNode root, java.util.Map graph, PegasusProperties properties)` The overloaded constructor.

### Uses of GraphNode in edu.isi.pegasus.planner.partitioner.graph

Fields in edu.isi.pegasus.planner.partitioner.graph with type parameters of type GraphNode
`private java.util.Set<GraphNode>` GraphNode.`mChildren` The list of children of the job/node in the abstract graph.
`private java.util.Set<GraphNode>` GraphNode.`mParents` The list of parents of the job/node in the abstract graph.
`private java.util.List<GraphNode>` TopologicalSortIterator.`mQueue` The internal list of nodes that contains the nodes to be traversed.

Methods in edu.isi.pegasus.planner.partitioner.graph that return GraphNode
`GraphNode` Graph.`getNode(java.lang.String identifier)` Returns the node matching the id passed.
`GraphNode` MapGraph.`getNode(java.lang.String identifier)` Returns the node matching the id passed.

Methods in edu.isi.pegasus.planner.partitioner.graph that return types with arguments of type GraphNode
`java.util.Iterator<GraphNode>` Graph.`bottomUpIterator()` Returns an iterator that traverses the graph bottom up from the leaves.
`java.util.Collection<GraphNode>` GraphNode.`getChildren()` Returns a list of `GraphNode` objects that are children of the node.
`java.util.List<GraphNode>` Graph.`getLeaves()` Returns the leaf nodes of the Graph.
`java.util.List<GraphNode>` MapGraph.`getLeaves()` Returns the leaf nodes of the Graph.
`java.util.Collection<GraphNode>` GraphNode.`getParents()` Returns a list of `GraphNode` objects that are parents of the node.
`java.util.List<GraphNode>` Graph.`getRoots()` Returns the root nodes of the Graph.
`java.util.List<GraphNode>` MapGraph.`getRoots()` Returns the root nodes of the Graph.
`java.util.Iterator<GraphNode>` Graph.`iterator()` Returns an iterator that traverses through the graph using a graph traversal algorithm.
`java.util.Iterator<GraphNode>` Graph.`nodeIterator()` Returns an iterator for the nodes in the Graph.
`java.util.Iterator<GraphNode>` Graph.`topologicalSortIterator()` Returns an iterator for the graph that traverses in topological sort order.
`java.util.Iterator<GraphNode>` MapGraph.`topologicalSortIterator()` Returns an iterator for the graph that traverses in topological sort order.

Methods in edu.isi.pegasus.planner.partitioner.graph with parameters of type GraphNode
`void` GraphNode.`addChild(GraphNode child)` Adds a child to end of the child list.
`void` Graph.`addEdge(GraphNode parent, GraphNode child)` Adds an edge between two already existing nodes in the graph.
`void` MapGraph.`addEdge(GraphNode parent, GraphNode child)` Adds an edge between two already existing nodes in the graph.
`void` Graph.`addNode(GraphNode node)` Adds a node to the Graph.
`void` MapGraph.`addNode(GraphNode node)` Adds a node to the Graph.
`void` GraphNode.`addParent(GraphNode parent)` Adds a parent to end of the parent list.
`void` Graph.`addRoot(GraphNode root)` Adds a single root node to the Graph.
`void` MapGraph.`addRoot(GraphNode root)` Adds a single root node to the Graph.
`void` GraphNode.`removeChild(GraphNode child)` Removes a child linkage to the node.
`void` GraphNode.`removeParent(GraphNode parent)` Removes a parent linkage to the node.

Method parameters in edu.isi.pegasus.planner.partitioner.graph with type arguments of type GraphNode
`void` GraphNode.`setChildren(java.util.Collection<GraphNode> children)` It sets the children to the node.
`void` GraphNode.`setParents(java.util.Collection<GraphNode> parents)` It adds the parents to the node.

### Uses of GraphNode in edu.isi.pegasus.planner.refiner

Fields in edu.isi.pegasus.planner.refiner with type parameters of type GraphNode
`private java.util.List<GraphNode>` DataReuseEngine.`mAllDeletedNodes` List of all deleted jobs during workflow reduction.

Methods in edu.isi.pegasus.planner.refiner that return types with arguments of type GraphNode
`private java.util.Collection<GraphNode>` ReduceEdges.`findLCA(GraphNode from, GraphNode to)` We find LCA of from and to.
`private java.util.List<GraphNode>` DataReuseEngine.`getJobsInRC(Graph workflow, java.util.Set filesInRC)` Returns all the jobs whose output files exist in the Replica Catalog.

Methods in edu.isi.pegasus.planner.refiner with parameters of type GraphNode
`void` ReduceEdges.`assignLevels(Graph workflow, GraphNode root)` Prunes redundant edges from the workflow.
`private java.util.Collection<GraphNode>` ReduceEdges.`findLCA(GraphNode from, GraphNode to)` We find LCA of from and to.
`protected boolean` DataReuseEngine.`transferOutput(GraphNode node)` Returns whether a user wants output transferred for a node or not.

Method parameters in edu.isi.pegasus.planner.refiner with type arguments of type GraphNode
`protected Graph` DataReuseEngine.`cascadeDeletionUpwards(Graph workflow, java.util.List<GraphNode> originalJobsInRC)` Cascade the deletion of the jobs upwards in the workflow.
`private java.util.Collection<FileTransfer>[]` TransferEngine.`getInterpoolFileTX(Job job, java.util.Collection<GraphNode> parents)` This gets the Vector of FileTransfer objects for all the files which have to be transferred to the destination pool in case of Interpool transfers.
`private java.util.Set<PegasusFile>` TransferEngine.`getOutputFiles(java.util.Collection<GraphNode> nodes)` It gets the output files for all the nodes which are specified in the nodes passed.
`private void` TransferEngine.`processParents(Job job, java.util.Collection<GraphNode> parents)` It processes a nodes parents and determines if nodes are to be added or not.

### Uses of GraphNode in edu.isi.pegasus.planner.refiner.cleanup

Fields in edu.isi.pegasus.planner.refiner.cleanup declared as GraphNode
`private GraphNode` CleanupJobContent.`mNode` The graph cleanupNode object for the associated job whose files are being deleted.

Methods in edu.isi.pegasus.planner.refiner.cleanup that return GraphNode
`private GraphNode` InPlace.`createClusteredCleanupGraphNode(java.util.List<GraphNode> nodes, java.util.HashMap cleanedBy, java.lang.String site, int level, int index)` Creates a clustered cleanup graph node that aggregates multiple cleanup nodes into one node
`GraphNode` CleanupJobContent.`getNode()` Returns the associated cleanupNode for which the files are deleted.

Methods in edu.isi.pegasus.planner.refiner.cleanup that return types with arguments of type GraphNode
`private java.util.List<GraphNode>` InPlace.`clusterCleanupGraphNodes(java.util.List<GraphNode> cleanupNodes, java.util.HashMap cleanedBy, java.lang.String site, int level)` Takes in a list of cleanup nodes ,one per cleanupNode(compute/stageout job) whose files need to be deleted) and clusters them into a smaller set of cleanup nodes.

Methods in edu.isi.pegasus.planner.refiner.cleanup with parameters of type GraphNode
`protected void` InPlace.`reduceDependency(GraphNode node)` Reduces the number of edges between the nodes and it's parents.
`protected boolean` InPlace.`typeNeedsCleanUp(GraphNode node)` Checks to see which job types are required to be looked at for cleanup.

Method parameters in edu.isi.pegasus.planner.refiner.cleanup with type arguments of type GraphNode
`private java.util.List<GraphNode>` InPlace.`clusterCleanupGraphNodes(java.util.List<GraphNode> cleanupNodes, java.util.HashMap cleanedBy, java.lang.String site, int level)` Takes in a list of cleanup nodes ,one per cleanupNode(compute/stageout job) whose files need to be deleted) and clusters them into a smaller set of cleanup nodes.
`private GraphNode` InPlace.`createClusteredCleanupGraphNode(java.util.List<GraphNode> nodes, java.util.HashMap cleanedBy, java.lang.String site, int level, int index)` Creates a clustered cleanup graph node that aggregates multiple cleanup nodes into one node

Constructors in edu.isi.pegasus.planner.refiner.cleanup with parameters of type GraphNode
Constructor and Description
`CleanupJobContent(GraphNode node, java.util.List<PegasusFile> files)`

### Uses of GraphNode in edu.isi.pegasus.planner.selector.site.heft

Methods in edu.isi.pegasus.planner.selector.site.heft with parameters of type GraphNode
`protected long[]` Algorithm.`calculateEstimatedStartAndFinishTime(GraphNode node, java.lang.String site)` Estimates the start and finish time of a job on a site.
`protected float` Algorithm.`computeDownwardRank(GraphNode node)` Computes the downward rank of a node.