Class VarSpecNode
- java.lang.Object
-
- org.proforma.variability.transfer.VarSpecNode
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
VarSpecInnerNode
,VarSpecLeaf
public abstract class VarSpecNode extends Object implements Serializable
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description VarSpecNode()
VarSpecNode(VarSpecNode other)
-
Method Summary
-
-
-
Constructor Detail
-
VarSpecNode
public VarSpecNode()
-
VarSpecNode
public VarSpecNode(VarSpecNode other)
-
-
Method Detail
-
clone
public abstract VarSpecNode clone()
-
getDebugId
protected String getDebugId()
-
getChildren
public abstract List<VarSpecNode> getChildren()
-
setChildren
public abstract void setChildren(List<VarSpecNode> children)
-
getCVp
public abstract CVp getCVp()
-
setCVp
public abstract void setCVp(CVp cvp)
-
collectDefRefs
protected org.proforma.variability.transfer.VarSpecNode.DefRefCollector collectDefRefs()
Can be called only when all children are present.
-
findDef
protected VarSpecNodeDef findDef(String id)
-
afterUnmarshal
public void afterUnmarshal(javax.xml.bind.Unmarshaller unmarshaller, Object parent)
Postprocessing sets parent relationships
-
collectAndValidateAllDefsAndRefs
protected void collectAndValidateAllDefsAndRefs()
This method is called once by the root node.
-
pushInheritedCVpToChildren
protected abstract void pushInheritedCVpToChildren(CVp inheritedCVp)
-
sizeLowerBound
public abstract long sizeLowerBound()
- Returns:
- the number of tuples in this set.
-
dim
public abstract int dim()
-
getEffectiveCVp
public abstract CVp getEffectiveCVp()
-
getRoot
public VarSpecRoot getRoot()
-
getParent
public VarSpecNode getParent()
- Returns:
- parent node (null for the root)
-
setParent
public void setParent(VarSpecNode parent)
- Parameters:
parent
- parent node (or null for the root)
-
getEffectiveVpIndex
public int getEffectiveVpIndex(String key)
-
getLastChild
public VarSpecNode getLastChild()
Returns the last child node.
-
getNonDefineChildren
public ArrayList<VarSpecNode> getNonDefineChildren()
-
numNonDefineChildren
protected int numNonDefineChildren()
-
endBuild
public VarSpecRoot endBuild()
-
endBuildTable
public VarSpecNodeTable endBuildTable()
-
define
public VarSpecNodeDef define(String id, String... keys)
-
endDefine
public VarSpecNode endDefine()
-
collectGroup
public VarSpecNodeCollectGroup collectGroup(String... keys)
-
endCollectGroup
public VarSpecNode endCollectGroup()
-
combineGroup
public VarSpecNodeCombineGroup combineGroup(String... keys)
-
endCombineGroup
public VarSpecNode endCombineGroup()
-
combine
public VarSpecNode combine(Object... values)
-
ref
public VarSpecNode ref(String id)
-
collect
public VarSpecNode collect(Object... choices)
-
range
public VarSpecNode range(Object first, Object last)
-
range
public VarSpecNode range(Object first, Object last, int steps)
-
range
public VarSpecNode range(Object first, Object last, Long steps)
-
val
public VarSpecNode val(Object item)
-
deriveVal
public VarSpecNode deriveVal(String jsSource)
-
deriveCollect
public VarSpecNode deriveCollect(String jsSource)
-
validateNewChild
protected abstract void validateNewChild(VarSpecNode child) throws IllegalArgumentException
- Throws:
IllegalArgumentException
-
prettyPrint
public void prettyPrint()
-
prettyPrint
public void prettyPrint(PrintStream out)
-
prettyPrint
protected abstract void prettyPrint(PrintStream out, String prefix)
-
-