|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object ix.icore.process.TimePoint ix.icore.process.PNodeEnd
public class PNodeEnd
One end of a PNode.
Field Summary |
---|
Fields inherited from class ix.icore.process.TimePoint |
---|
tpn_mark |
Constructor Summary | |
---|---|
PNodeEnd(End end,
PNode node)
|
Method Summary | |
---|---|
static void |
addOrdering(java.util.Map idToNodeMap,
Ordering ord)
|
void |
computeStatus()
|
static PNodeEnd |
fromRef(java.util.Map idToNodeMap,
NodeEndRef ref)
|
End |
getEnd()
|
long |
getMark(int markIndex)
Returns the current mark-value for this node-end. |
PNode |
getNode()
|
PNodeEnd |
getOtherNodeEnd()
|
java.util.List |
getPredecessors()
|
java.util.List |
getShadowedEnds()
Returns a list containing all the node-ends that are forced by ordering constraints to be after this one. |
Status |
getStatus()
|
java.util.List |
getSuccessors()
|
boolean |
isMarked(int markIndex,
long mark)
Determines whether this node-end is marked by the indicated mark. |
void |
linkAfter(PNodeEnd from)
|
void |
linkBefore(PNodeEnd to)
|
long |
markEndsBefore(int markIndex)
Marks all node-ends that are forced by ordering contstraints to be before this one, then returns the (new) mark. |
long |
markShadowedEnds(int markIndex)
Marks all node-ends that are forced by ordering contstraints to be after this one, then returns the (new) mark. |
void |
setStatus(Status s)
|
java.lang.String |
toString()
|
void |
unlink()
|
Methods inherited from class ix.icore.process.TimePoint |
---|
addPostConstraint, addPreConstraint, clear, getMaxTime, getMinTime, getPostConstraints, getPreConstraints, hasUnboundedMax, removePostConstraint, removePreConstraint, setMaxTime, setMinTime |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PNodeEnd(End end, PNode node)
Method Detail |
---|
public static PNodeEnd fromRef(java.util.Map idToNodeMap, NodeEndRef ref)
public static void addOrdering(java.util.Map idToNodeMap, Ordering ord)
public PNode getNode()
public End getEnd()
public PNodeEnd getOtherNodeEnd()
public Status getStatus()
getStatus
in interface HasStatus
public void setStatus(Status s)
setStatus
in interface HasStatus
public void computeStatus()
computeStatus
in interface HasStatus
public java.util.List getPredecessors()
public java.util.List getSuccessors()
public void linkBefore(PNodeEnd to)
public void linkAfter(PNodeEnd from)
public void unlink()
public boolean isMarked(int markIndex, long mark)
Each PNodeEnd has, internally, a small array of marks, so that node-ends can be marked for more than one purpose by an angorithm that uses marks. That's what the 'markIndex' parameter is about. It is obviously necessary to be very careful with this, and it is best to use marks only "locally" within an algorithm, rather than relying on a markIndex to have a lasting significance. Marks are not context-layered, which is another sense in which they should be used "locally".
Marks are obtained by calling Ip2ModelManager.nextMark()
,
using this node's model-manager, but marking methods often do that
for you automatically and then return the new mark when they're
done.
public long getMark(int markIndex)
isMarked(int, long)
method should be called instead.
public long markShadowedEnds(int markIndex)
isMarked(int, long)
method can
be used to tell whether a node-end is marked by that mark.
See that method for more about marking.
public long markEndsBefore(int markIndex)
isMarked(int, long)
method can
be used to tell whether a node-end is marked by that mark.
See that method for more about marking.
public java.util.List getShadowedEnds()
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |