Edge.java
Home
/
src /
java /
azkaban /
flow /
Edge.java
package azkaban.flow;
import java.util.HashMap;
public class Edge {
private final String sourceId;
private final String targetId;
private Node source;
private Node target;
private String error;
public Edge(String fromId, String toId) {
this.sourceId = fromId;
this.targetId = toId;
}
public Edge(Edge clone) {
this.sourceId = clone.sourceId;
this.targetId = clone.targetId;
this.error = clone.error;
}
public String getId() {
return getSourceId() + ">>" + getTargetId();
}
public String getSourceId() {
return sourceId;
}
public String getTargetId() {
return targetId;
}
public void setError(String error) {
this.error = error;
}
public String getError() {
return this.error;
}
public boolean hasError() {
return this.error != null;
}
public Node getSource() {
return source;
}
public void setSource(Node source) {
this.source = source;
}
public Node getTarget() {
return target;
}
public void setTarget(Node target) {
this.target = target;
}
public Object toObject() {
HashMap<String, Object> obj = new HashMap<String, Object>();
obj.put("source", getSourceId());
obj.put("target", getTargetId());
if (error != null) {
obj.put("error", error);
}
return obj;
}
public static Edge fromObject(Object obj) {
@SuppressWarnings("unchecked")
HashMap<String, Object> edgeObj = (HashMap<String,Object>)obj;
String source = (String)edgeObj.get("source");
String target = (String)edgeObj.get("target");
String error = (String)edgeObj.get("error");
Edge edge = new Edge(source, target);
edge.setError(error);
return edge;
}
}