orc.runtime.values
Class GroupCell
java.lang.Object
orc.runtime.Group
orc.runtime.values.GroupCell
- All Implemented Interfaces:
- java.io.Serializable, Future
public final class GroupCell
- extends Group
- implements java.io.Serializable, Future
A value container that is also a group. Groups are
essential to the evaluation of where clauses: all the
tokens that arise from execution of a where definition
are associated with the same group. Once a value is
produced for the group, all these tokens are terminated.
- Author:
- wcook, dkitchin
- See Also:
- Serialized Form
Fields inherited from class orc.runtime.Group |
alive |
Method Summary |
void |
close()
If a GroupRegion is closed, it closes the associated
cell, even if that cell has not yet been bound. |
java.lang.Object |
forceArg(Token t)
|
Callable |
forceCall(Token t)
|
boolean |
isBound()
|
void |
onKill()
Override this. |
java.lang.Object |
peekValue()
|
void |
setValue(Token token)
This call defines the fundamental behavior of groups:
When the value is bound, all subgroups are killed
and all waiting tokens are activated. |
java.lang.String |
toString()
|
void |
waitForValue(Token t)
Add a token to the waiting queue of this group |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
GroupCell
public GroupCell(Group parent,
TokenTracer.PullTrace pullTrace)
- Parameters:
pullTrace
- used to identify the group cell in traces (see TokenTracer.pull()
).
setValue
public void setValue(Token token)
- This call defines the fundamental behavior of groups:
When the value is bound, all subgroups are killed
and all waiting tokens are activated.
- Parameters:
token
- the token with the result value for the group
close
public void close()
- If a GroupRegion is closed, it closes the associated
cell, even if that cell has not yet been bound. This
is necessary to ensure any tokens waiting on the cell
are killed.
onKill
public void onKill()
- Description copied from class:
Group
- Override this.
- Overrides:
onKill
in class Group
waitForValue
public void waitForValue(Token t)
- Add a token to the waiting queue of this group
- Parameters:
t
-
forceArg
public java.lang.Object forceArg(Token t)
- Specified by:
forceArg
in interface Future
forceCall
public Callable forceCall(Token t)
throws UncallableValueException
- Specified by:
forceCall
in interface Future
- Throws:
UncallableValueException
peekValue
public java.lang.Object peekValue()
isBound
public boolean isBound()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object