|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jawk.jrt.BlockObject
public abstract class BlockObject
An item which blocks until something useful can be done with the object. The BlockManager multiplexes BlockObjects such that unblocking one BlockObject causes the BlockManager to dispatch the notifier tag result of the BlockObject.
BlockObjects are chained. The BlockManager blocks on all chained BlockObjects until one is unblocked.
Subclasses must provide meaningful block() and getNotifierTag() routines.
BlockObjects do not actually perform the client blocking. This is done by the BlockManager at the AVM (interpreted) or compiled runtime environment. The AVM/compiled environments make special provision to return the head block object to the BlockManager (within _EXTENSION_ keyword processing).
BlockManager
,
BulkBlockObject
Constructor Summary | |
---|---|
protected |
BlockObject()
|
Method Summary | |
---|---|
abstract void |
block()
Block until meaningful data is made available for the client application. |
void |
clearNextBlockObject()
Eliminate the rest of the BlockObject chain. |
java.util.List<BlockObject> |
getBlockObjects()
Obtain all chained BlockObjects as a List, including this one. |
abstract java.lang.String |
getNotifierTag()
Construct a meaningful notifier tag for this BlockObject. |
void |
setNextBlockObject(BlockObject bo)
Chain this BlockObject to another BlockObject. |
java.lang.String |
toString()
Ensure non-evaluation of a BlockObject by throwing an AWK Runtime exception, in case it leaks into AWK evaluation space. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
protected BlockObject()
Method Detail |
---|
public abstract java.lang.String getNotifierTag()
public abstract void block() throws java.lang.InterruptedException
java.lang.InterruptedException
public void clearNextBlockObject()
public void setNextBlockObject(BlockObject bo)
public java.util.List<BlockObject> getBlockObjects() throws AwkRuntimeException
AwkRuntimeException
- if the BlockObject
chain contains a cycle.public final 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 |