public String toString() { int numParents = getNumberOfParents(); StringBuilder str = new StringBuilder(); str.append("{"); for (int i = 0; i < numParents; i++) { Variable parent = getParents().get(i); str.append(parent.getName()); if (i < numParents - 1) { str.append(", "); } } str.append("}"); return str.toString(); }
/** * Update the DAG with a new DynamicVariables. This must be the same object passed to * the builder, but with new variables created. * @param dynamicVariables1, object of the class DynamicVariables */ public void updateDynamicVariables(DynamicVariables dynamicVariables1){ this.dynamicVariables = dynamicVariables1; this.dynamicVariables.block(); for (Variable var : dynamicVariables) { if (var.getVarID()<this.parentSetTime0.size()) continue; this.parentSetTime0.add(var.getVarID(),new ParentSetImpl(var)); this.parentSetTimeT.add(var.getVarID(),new ParentSetImpl(var)); } }
/** * Creates a new DynamicDAG from a set of given dynamic variables. * @param dynamicVariables1 a set of variables of type {@link DynamicVariables}. */ public DynamicDAG(DynamicVariables dynamicVariables1) { this.dynamicVariables = dynamicVariables1; this.parentSetTime0 = new ArrayList(dynamicVariables.getNumberOfVars()); this.parentSetTimeT = new ArrayList(dynamicVariables.getNumberOfVars()); for (Variable var : dynamicVariables) { parentSetTime0.add(var.getVarID(), new ParentSetImpl(var)); parentSetTimeT.add(var.getVarID(), new ParentSetImpl(var)); } this.dynamicVariables.block(); }
public void addParent(Variable var) { if (!mainVar.getDistributionType().isParentCompatible(var)){ throw new IllegalArgumentException("Adding a parent of type "+var.getDistributionTypeEnum().toString()+ " which is not compatible " + "with children variable of type "+this.mainVar.getDistributionTypeEnum().toString()); } if (this.contains(var)) { throw new IllegalArgumentException("Trying to add a duplicated parent"); } vars.add(var); if (!var.isInterfaceVariable() && !parentSetTime0.get(mainVar.getVarID()).contains(var)) { ((ParentSetImpl) parentSetTime0.get(mainVar.getVarID())).vars.add(var); } }