public class

JobDag

extends Object
java.lang.Object
   ↳ org.apache.helix.task.JobDag

Class Overview

Provides a convenient way to construct, traverse, and validate a job dependency graph

Summary

Fields
public static final JobDag EMPTY_DAG
Public Constructors
JobDag()
Public Methods
void addNode(String node)
void addParentToChild(String parent, String child)
static JobDag fromJson(String json)
Set<String> getAllNodes()
Map<StringSet<String>> getChildrenToParents()
Set<String> getDirectChildren(String node)
Set<String> getDirectParents(String node)
Map<StringSet<String>> getParentsToChildren()
void removeNode(String node)
must make sure no other node dependence before removing the node
void removeParentToChild(String parent, String child)
String toJson()
void validate()
Checks that dag contains no cycles and all nodes are reachable.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

public static final JobDag EMPTY_DAG

Public Constructors

public JobDag ()

Public Methods

public void addNode (String node)

public void addParentToChild (String parent, String child)

public static JobDag fromJson (String json)

public Set<String> getAllNodes ()

public Map<StringSet<String>> getChildrenToParents ()

public Set<String> getDirectChildren (String node)

public Set<String> getDirectParents (String node)

public Map<StringSet<String>> getParentsToChildren ()

public void removeNode (String node)

must make sure no other node dependence before removing the node

public void removeParentToChild (String parent, String child)

public String toJson ()

Throws
Exception

public void validate ()

Checks that dag contains no cycles and all nodes are reachable.