package propagation.impl;
import propagation.Node;
import propagation.PropagationRule;
import propagation.StateItem;
import java.util.ArrayList;
import java.util.List;
public class NodeImpl implements Node {
private String rdn_;
private String fdn_;
private List childNodes_ = new ArrayList();
private List upperNodes_ = new ArrayList();
private Node parentNode_;
private List stateItems_ = new ArrayList();
private StateItem summaryItem_;
private transient PropagationRule rule_ = new ORSummaryRule();
public void setNodeRDN(String rdn) {
this.rdn_ = rdn;
}
public String getNodeRDN() {
return this.rdn_;
}
public void setNodeFDN(String fdn) {
this.fdn_ = fdn;
}
public String getNodeFDN() {
return this.fdn_;
}
public void addChildNode(Node child) {
if (child != null) {
childNodes_.add(child);
}
}
public List getChildren() {
return childNodes_;
}
public void addUpperNode(Node upperNode) {
if (upperNode != null) {
upperNodes_.add(upperNode);
}
}
public List getUpperNodes() {
return upperNodes_;
}
public void setParentNode(Node parent) {
if (parent != null) {
parentNode_ = parent;
}
}
public Node getParentNode() {
return this.parentNode_;
}
public void addStateItem(StateItem stateItem) {
if (stateItem != null) {
stateItems_.add(stateItem);
}
}
public void setSummaryStateItem(StateItem stateItem) {
if (stateItem != null) {
this.summaryItem_ = stateItem;
}
}
public StateItem getSummaryStateItem() {
return this.summaryItem_;
}
public void setPropagationRule(PropagationRule rule) {
if (rule != null) {
this.rule_ = rule;
}
}
public PropagationRule getPropagationRule() {
return rule_;
}
public List getStateItems() {
return this.stateItems_;
}
public StateItem findStateItem(long itemId) {
StateItem retItem = null;
int size = stateItems_.size();
for (int idx = 0; idx < size; idx++) {
StateItem stateItem = (StateItem) stateItems_.get(idx);
if (stateItem.getItemId() == itemId) {
retItem = stateItem;
break;
}
}
return retItem;
}
public String toString() {
return getNodeFDN();
}
}