public class BlockManager
extends java.lang.Object
TransactionManager extensively to implement the proper behavior.| Modifier and Type | Class and Description |
|---|---|
static class |
BlockManager.Action
Encodes the possible actions in response to given conditions.
|
(package private) static class |
BlockManager.BlockManagerHelper
Helper to expose state in a way that avoids context local lookups.
|
static class |
BlockManager.Condition
Encodes the possible condition types.
|
private static class |
BlockManager.ContextContainer
Simple container that stores and returns a context-local instance of
the global work area.
|
private static class |
BlockManager.Disposition
Encodes the possible responses to a flow control event.
|
(package private) static class |
BlockManager.ReturnType
Encodes the possible types of return statement.
|
private static class |
BlockManager.StatsHelper
Server-wide hook that gets called at initialization and termination.
|
static class |
BlockManager.TransactionType
Encodes the possible levels of transaction support for each block.
|
private static class |
BlockManager.WorkArea
Stores global data relating to the state of the current context's
blocks.
|
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CATCH_BLOCK_LABEL
The fixed label of all CATCH: blocks.
|
static java.lang.String |
FINALLY_BLOCK_LABEL
The fixed label of all FINALLY: blocks.
|
private static CentralLogger |
LOG
Logger
|
private static java.lang.Object |
NULL
Synthetic null value to use in a deque which doesn't accept null values.
|
private static java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicInteger> |
stats
Stores calls execution statistics.
|
private static java.lang.String |
STATS_FILE
Directory entry to define an execution statistics output file.
|
private static java.lang.String |
statsFile
Output filename in which to write execution statistics.
|
private static java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicLong> |
times
Stores timing execution statistics.
|
private static BlockManager.ContextContainer |
work
Stores context-local state variables.
|
| Constructor and Description |
|---|
BlockManager() |
| Modifier and Type | Method and Description |
|---|---|
static void |
catchBlock(Block block)
Execute the default block associated with a
CATCH statement. |
static <T extends LegacyError> |
catchError(java.lang.Class<T> type,
java.util.function.Consumer<object<T>> catchBlock)
The CATCH statement.
|
(package private) static boolean |
checkFunctionReturn(java.util.function.Function<java.lang.Object,java.lang.Boolean> func)
Check the
BlockManager.WorkArea.funcRet stack for the supplied condition. |
private static java.lang.Boolean |
checkJavaCall(BlockManager.WorkArea wa,
java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
Block block,
boolean function,
boolean externalProgram,
boolean persistentProc)
Check if we this call is a java-style call or is from
ControlFlowOps APIs. |
private static int |
conditionMask(BlockManager.Condition cond)
Matches a
Condition with its corresponding
TransactionManager constant. |
private static int |
convertTransType(BlockManager.TransactionType ttype,
BlockType btype)
Helper to convert between this class' enum and the corresponding
TransactionManager constants. |
private static void |
coreLoop(BlockType btype,
boolean next,
BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
OnPhrase[] defOn,
Block block)
Execute a DO or REPEAT loop with all possible loop constructs, the
given configuration and with default properties.
|
private static int |
decodeConditions(OnPhrase[] user,
OnPhrase[] def)
Encode the conditions supported by this block as a bitfield.
|
static boolean |
deferredLeave(java.lang.String label)
Detect if there is a pending leave for the block named by the given
label.
|
private static boolean |
deferredLeaveWorker(BlockManager.WorkArea wa,
java.lang.String label)
Detect if there is a pending leave for the block named by the given
label.
|
static boolean |
deferredNext(java.lang.String label)
Detect if there is a pending next for the block named by the given
label.
|
private static boolean |
deferredNextWorker(BlockManager.WorkArea wa,
java.lang.String label)
Detect if there is a pending next for the block named by the given
label.
|
static void |
doBlock(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no user-defined or default properties.
|
static void |
doBlock(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no default properties.
|
static void |
doBlock(BlockManager.TransactionType lvl,
java.lang.String label,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no user-defined or default properties.
|
static void |
doBlock(BlockManager.TransactionType lvl,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no default properties.
|
static void |
doBlock(java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no default properties.
|
static void |
doBlock(java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no default properties.
|
static void |
doBlock(java.lang.String label,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no default properties.
|
static void |
doBlock(java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple DO block (not a loop) with the given configuration
and no default properties.
|
private static void |
doBlockWorker(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple DO block (not a loop) with the given configuration and no default properties.
|
private static void |
doLoopWorker(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
private static void |
doTerminationBlockWorker(BlockManager.WorkArea wa,
BlockManager.TransactionType lvl,
java.lang.String label,
boolean finBlock,
Block block)
Execute a a termination block like CATCH and FINALLY, emulating
doBlockWorker(com.goldencode.p2j.util.BlockManager.TransactionType, java.lang.String[], java.lang.String, com.goldencode.p2j.util.OnPhrase[], com.goldencode.p2j.util.Block). |
static void |
doTo(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a DO TO expression loop with the given configuration
and no user-defined or default properties.
|
static void |
doTo(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a DO TO expression loop with the given configuration
and no default properties.
|
static void |
doTo(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
Block block)
Execute a DO TO expression loop with the given configuration
and no user-defined or default properties.
|
static void |
doTo(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a DO TO expression loop with the given configuration
and no default properties.
|
static void |
doTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a DO TO expression loop with the given configuration
and no default properties.
|
static void |
doTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a DO TO expression loop with the given configuration
and no default properties.
|
static void |
doTo(java.lang.String label,
ToClause to,
Block block)
Execute a DO TO expression loop with the given configuration
and no default properties.
|
static void |
doTo(java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a DO TO expression loop with the given configuration
and no default properties.
|
static void |
doToWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression, DO TO var = val1 to val2 by val3 or DO
TO WHILE expression loop with the given configuration and no default
properties.
|
static void |
doWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no user-defined or default properties.
|
static void |
doWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no default properties.
|
static void |
doWhile(BlockManager.TransactionType lvl,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no user-defined or default properties.
|
static void |
doWhile(BlockManager.TransactionType lvl,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no default properties.
|
static void |
doWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no default properties.
|
static void |
doWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no default properties.
|
static void |
doWhile(java.lang.String label,
LogicalOp expr,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no default properties.
|
static void |
doWhile(java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a DO WHILE expression loop with the given configuration
and no default properties.
|
private static void |
dumpExecutionStats()
Generates a CSV file with the recorded execution statistics.
|
private static void |
editingBlock(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block,
int etype)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
(package private) static BlockManager.Condition |
exceptionToCondition(ConditionException ce)
Translate exception into
BlockManager.Condition code. |
private static void |
executeStateManaged(BlockManager.WorkArea wa,
java.lang.Runnable code)
Preserve certain work area state before running the given code and then restore that state
afterward.
|
private static void |
exitTopLevel(BlockManager.WorkArea wa)
Common worker to cleanup top-level block state just before exiting.
|
static <T extends BaseDataType> |
extentFunction(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns a dynamic extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns a
dynamic extent value.
|
static <T extends BaseDataType> |
extentFunction(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
int extent,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns an extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
int extent,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns an extent
value.
|
static <T extends BaseDataType> |
extentFunction(java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns a dynamic extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns a
dynamic extent value.
|
static <T extends BaseDataType> |
extentFunction(java.lang.Class<T> cls,
int extent,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns an extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.Class<T> cls,
int extent,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns an extent
value.
|
static <T extends BaseDataType> |
extentFunction(java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns a dynamic extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns a
dynamic extent value.
|
static <T extends BaseDataType> |
extentFunction(java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
int extent,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns an extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.String legacyName,
java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns a dynamic extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.String legacyName,
java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns a
dynamic extent value.
|
static <T extends BaseDataType> |
extentFunction(java.lang.String legacyName,
java.lang.Class<T> cls,
int extent,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB, which returns an extent value. |
static <T extends BaseDataType> |
extentFunction(java.lang.String legacyName,
java.lang.Class<T> cls,
int extent,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level, which returns an extent
value.
|
static void |
externalProcedure(Block block)
Execute the given external procedure block with a default transaction level of
TransactionType.SUB. |
static void |
externalProcedure(BlockManager.TransactionType lvl,
Block block)
Execute the given external procedure block with the given transaction level.
|
static void |
externalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
Block block)
Execute the given external procedure block with a default transaction level of
TransactionType.SUB. |
static void |
externalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
BlockManager.TransactionType lvl,
Block block)
Execute the given external procedure block with the given transaction level.
|
static void |
externalProcedure(java.lang.Object referent,
Block block)
Execute the given external procedure block with a default transaction level of
TransactionType.SUB. |
static void |
externalProcedure(java.lang.Object referent,
BlockManager.TransactionType lvl,
Block block)
Execute the given external procedure block with the given transaction level.
|
static void |
forBlock(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(P2JQuery query,
int direction,
java.lang.String label,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlock(P2JQuery query,
int direction,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR FIRST or FOR LAST block with the given configuration
and default properties.
|
static void |
forBlockTo(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and no user-defined or default properties.
|
static void |
forBlockTo(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and default properties.
|
static void |
forBlockTo(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and no user-defined or default properties.
|
static void |
forBlockTo(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and default properties.
|
static void |
forBlockTo(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and default properties.
|
static void |
forBlockTo(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and default properties.
|
static void |
forBlockTo(P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and default properties.
|
static void |
forBlockTo(P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST TO block with the given configuration
and default properties.
|
static void |
forBlockToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockToWhile(P2JQuery query,
int direction,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
default properties.
|
static void |
forBlockWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and no user-defined or default properties.
|
static void |
forBlockWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and default properties.
|
static void |
forBlockWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and no user-defined or default properties.
|
static void |
forBlockWhile(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and default properties.
|
static void |
forBlockWhile(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and default properties.
|
static void |
forBlockWhile(P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and default properties.
|
static void |
forBlockWhile(P2JQuery query,
int direction,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and default properties.
|
static void |
forBlockWhile(P2JQuery query,
int direction,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block with the given configuration
and default properties.
|
private static void |
forBlockWorker(BlockManager.TransactionType lvl,
P2JQuery query,
int direction,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR FIRST/LAST WHILE block, FOR FIRST/LAST TO block
or FOR FIRST/LAST TO WHILE block with the given configuration and
with default properties.
|
static void |
forEach(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(P2JQuery query,
java.lang.String label,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEach(P2JQuery query,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a FOR EACH loop with the given configuration
and default properties.
|
static void |
forEachTo(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR EACH TO block with the given configuration
and no user-defined or default properties.
|
static void |
forEachTo(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR EACH TO block with the given configuration
and default properties.
|
static void |
forEachTo(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR EACH TO block with the given configuration
and no user-defined or default properties.
|
static void |
forEachTo(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR EACH TO block with the given configuration
and default properties.
|
static void |
forEachTo(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR EACH TO block with the given configuration
and default properties.
|
static void |
forEachTo(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR EACH TO block with the given configuration
and default properties.
|
static void |
forEachTo(P2JQuery query,
java.lang.String label,
ToClause to,
Block block)
Execute a FOR EACH TO block with the given configuration
and default properties.
|
static void |
forEachTo(P2JQuery query,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a FOR EACH TO block with the given configuration
and default properties.
|
static void |
forEachToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(P2JQuery query,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachToWhile(P2JQuery query,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
default properties.
|
static void |
forEachWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and no user-defined or default properties.
|
static void |
forEachWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and default properties.
|
static void |
forEachWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and no user-defined or default properties.
|
static void |
forEachWhile(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and default properties.
|
static void |
forEachWhile(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and default properties.
|
static void |
forEachWhile(P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and default properties.
|
static void |
forEachWhile(P2JQuery query,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and default properties.
|
static void |
forEachWhile(P2JQuery query,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH WHILE block with the given configuration
and default properties.
|
private static void |
forEachWorker(BlockManager.TransactionType lvl,
P2JQuery query,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a FOR EACH, FOR EACH WHILE block, FOR EACH TO block
or FOR EACH TO WHILE block with the given configuration and
with default properties.
|
static <T extends BaseDataType> |
function(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB. |
static <T extends BaseDataType> |
function(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level.
|
static <T extends BaseDataType> |
function(java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB. |
static <T extends BaseDataType> |
function(java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level.
|
static <T extends BaseDataType> |
function(java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB. |
static <T extends BaseDataType> |
function(java.lang.Object referent,
java.lang.String legacyName,
java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level.
|
static <T extends BaseDataType> |
function(java.lang.String legacyName,
java.lang.Class<T> cls,
Block block)
Execute the given function block with a default transaction level of
TransactionType.SUB. |
static <T extends BaseDataType> |
function(java.lang.String legacyName,
java.lang.Class<T> cls,
BlockManager.TransactionType lvl,
Block block)
Execute the given function block with the given transaction level.
|
private static <T extends BaseDataType> |
functionBlock(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType level,
Block block,
java.lang.Class<T> retType,
int extent)
Execute the given function block with the given transaction level.
|
(package private) static java.lang.Object |
getFunctionReturn()
Get the function's return value.
|
(package private) static BlockManager.BlockManagerHelper |
getHelper()
Get an instance of
ProcedureManager.ProcedureHelper, which has the context-local instance saved,
so API access can be done without a context-local query. |
(package private) static BlockManager.ReturnType |
getReturnType()
Returns the type of return processing from the nearest top-level block.
|
private static boolean |
hasLegacyError(BlockManager.WorkArea wa,
java.lang.Class<? extends LegacyError> type,
int levels)
Check if any CATCH blocks defined at the specified enclosing block can manage this exception.
|
(package private) static boolean |
hasLegacyError(java.lang.Class<? extends LegacyError> type,
int levels)
Check if any CATCH blocks defined at the specified enclosing block can manage this exception.
|
(package private) static void |
ignoreNextCall(java.lang.Runnable abend)
Register the abend code to be executed when the next top-level block needs to be invoked, as the
argument assignment failed.
|
static void |
internalProcedure(Block block)
Execute the given internal procedure block with a default transaction
level of
TransactionType.SUB. |
static void |
internalProcedure(BlockManager.TransactionType lvl,
Block block)
Execute the given internal procedure block with the given transaction
level.
|
static void |
internalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
Block block)
Execute the given internal procedure block with a default transaction
level of
TransactionType.SUB. |
static void |
internalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType lvl,
Block block)
Execute the given internal procedure block with the given transaction
level.
|
static void |
internalProcedure(java.lang.Object referent,
java.lang.String legacyName,
Block block)
Execute the given internal procedure block with a default transaction
level of
TransactionType.SUB. |
static void |
internalProcedure(java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType lvl,
Block block)
Execute the given internal procedure block with the given transaction
level.
|
static void |
internalProcedure(java.lang.String legacyName,
Block block)
Execute the given internal procedure block with a default transaction
level of
TransactionType.SUB. |
static void |
internalProcedure(java.lang.String legacyName,
BlockManager.TransactionType lvl,
Block block)
Execute the given internal procedure block with the given transaction
level.
|
private static boolean |
isNormal(BlockManager.WorkArea wa,
java.lang.Throwable thr,
OnPhrase[] on)
Detect if an exception represents a normal or abnormal condition.
|
private static boolean |
isPersistentTriggerTopLevel(BlockManager.WorkArea wa)
Check if we are on the top level of a persistent trigger.
|
static void |
leave()
Break out of the nearest enclosing block.
|
private static void |
leave(BlockManager.WorkArea wa,
java.lang.String label)
Break out of the block associated with the given label.
|
static void |
leave(java.lang.String label)
Break out of the block associated with the given label.
|
private static void |
markReturnError(BlockManager.WorkArea wa)
Mark all blocks on the stack enclosed in this this top-level block (including it), as
BlockDefinition.wasReturnError. |
private static OnPhrase |
matchCondition(OnPhrase[] user,
OnPhrase[] def,
BlockManager.Condition cond)
Find a matching condition in the user-defined on phrases or the default
on phrases for the block and return the on phrase that is matched.
|
private static boolean |
matches(java.lang.String[] list,
java.lang.String entry)
Given a list of strings, detect if the given entry matches (case
sensitively) any of the elements in the list.
|
(package private) static boolean |
mustManageLegacyError()
Check if the top-level block is ROUTINE-LEVEL UNDO, THROW or the current program is
BLOCK-LEVEL UNDO, THROW.
|
(package private) static boolean |
mustManageLegacyError(BlockManager.WorkArea wa)
Check if the top-level block is ROUTINE-LEVEL UNDO, THROW or the current program is
BLOCK-LEVEL UNDO, THROW.
|
(package private) static boolean |
mustThrowLegacyError(BlockManager.WorkArea wa,
java.lang.Class<? extends LegacyError> errorClass)
Check if we must throw a legacy compatible OO error.
|
(package private) static boolean |
mustThrowLegacyError(java.lang.Class<? extends LegacyError> errorClass)
Check if we must throw a legacy compatible OO error.
|
private static boolean |
needsIterate(ToClause to,
LogicalOp expr)
Test the given expressions to determine if the calling loop should
iterate or if the loop should exit.
|
static void |
next()
Continue (iterate) the nearest enclosing block.
|
private static void |
next(BlockManager.WorkArea wa,
java.lang.String label)
Continue (iterate) the block associated with the given label.
|
static void |
next(java.lang.String label)
Continue (iterate) the block associated with the given label.
|
static void |
onBlockLevel(BlockManager.Condition condition,
BlockManager.Action action)
API for BLOCK-LEVEL ON ERROR UNDO,THROW statement.
|
static void |
onRoutineLevel(BlockManager.Condition condition,
BlockManager.Action action)
API for ROUTINE-LEVEL ON ERROR UNDO,THROW statement.
|
private static void |
processBody(BlockManager.WorkArea wa,
Block block,
OnPhrase[] on,
OnPhrase[] defOn)
Implements the body of all blocks or loops that are not related to the
FOR language statement. |
static void |
processCatch(Body body)
Execute the given catch block as if it was a simple DO block.
|
private static BlockManager.Disposition |
processCondition(BlockManager.WorkArea wa,
OnPhrase[] user,
OnPhrase[] def,
ConditionException ce,
java.lang.String[] enclosing,
java.lang.String label)
Core worker to handle all the possible behavior in response to a
condition being raised in an inner block (DO, REPEAT or FOR).
|
private static boolean |
processForBody(BlockManager.WorkArea wa,
Block block,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
OnPhrase[] defOn)
Implements the body of all
FOR language statement blocks or
loops. |
private static void |
processLegacyError(BlockManager.WorkArea wa,
LegacyErrorException lex,
OnPhrase[] on,
OnPhrase[] defOn)
Check if any CATCH blocks defined at the current enclosing block can manage this exception.
|
private static void |
processLegacyException(BlockManager.WorkArea wa,
LegacyErrorException e)
Make sure that the legacy exception is honoring the roll-back of transactions
in the current block.
|
static void |
promptForEditing(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditing(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditing(CommonFrame frame,
FrameElement[] widgets,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditing(CommonFrame frame,
FrameElement[] widgets,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
promptForEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
PROMPT-FOR semanics. |
static void |
quit()
Raise the QUIT condition and cause control to be transferred to the
nearest enclosing block that handles the associated condition.
|
private static void |
recordExecutionStats(BlockType type,
Block block,
long start)
Update block execution statistics for the given block instance.
|
static void |
repeat(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(BlockManager.TransactionType lvl,
java.lang.String label,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(BlockManager.TransactionType lvl,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(java.lang.String label,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeat(java.lang.String label,
OnPhrase[] on,
Block block)
Execute a simple REPEAT (infinite loop) with the given configuration
and default properties.
|
static void |
repeatTo(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and no user-defined or default properties.
|
static void |
repeatTo(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and default properties.
|
static void |
repeatTo(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and no user-defined or default properties.
|
static void |
repeatTo(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and default properties.
|
static void |
repeatTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and default properties.
|
static void |
repeatTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and default properties.
|
static void |
repeatTo(java.lang.String label,
ToClause to,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and default properties.
|
static void |
repeatTo(java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
Execute a REPEAT TO expression loop with the given configuration
and default properties.
|
static void |
repeatToWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(BlockManager.TransactionType lvl,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression, REPEAT TO var = val1 to val2 by val3
or REPEAT TO WHILE expression loop with the given configuration and
default properties.
|
static void |
repeatWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and no user-defined or default properties.
|
static void |
repeatWhile(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and default properties.
|
static void |
repeatWhile(BlockManager.TransactionType lvl,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and no user-defined or default properties.
|
static void |
repeatWhile(BlockManager.TransactionType lvl,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and default properties.
|
static void |
repeatWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and default properties.
|
static void |
repeatWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and default properties.
|
static void |
repeatWhile(java.lang.String label,
LogicalOp expr,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and default properties.
|
static void |
repeatWhile(java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT WHILE expression loop with the given configuration
and default properties.
|
private static void |
repeatWorker(BlockManager.TransactionType lvl,
java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
Execute a REPEAT, REPEAT WHILE expression, REPEAT TO var = val1 to val2
by val3 or REPEAT TO WHILE expression loop with the given configuration
and with default properties.
|
static void |
returnConsume()
Return from the nearest enclosing top-level block.
|
static void |
returnConsume(character val)
Return from the nearest enclosing top-level block, consuming any pending
event processing.
|
static void |
returnConsume(java.lang.String val)
Return from the nearest enclosing top-level block, consuming any pending
event processing.
|
static void |
returnError()
Return from the nearest enclosing top-level block.
|
static void |
returnError(character val)
Return from the nearest enclosing top-level block.
|
static void |
returnError(object<? extends LegacyError> error)
Return from the nearest enclosing top-level block by throwing the specified legacy error.
|
static void |
returnError(java.lang.String val)
Return from the nearest enclosing top-level block.
|
static void |
returnExtentNormal(BaseDataType[] val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal()
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(BaseDataType val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(boolean val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(double val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(int val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(long val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(java.lang.String val)
Return from the nearest enclosing top-level block.
|
static void |
returnNormal(WrappedResource val)
Return from the nearest enclosing top-level block.
|
private static void |
returnWorker(BaseDataType val,
BlockManager.ReturnType rtype)
Return from the nearest enclosing top-level block.
|
private static void |
returnWorker(BlockManager.WorkArea wa,
java.lang.Object val,
BlockManager.ReturnType rtype)
Return from the nearest enclosing top-level block.
|
static void |
setEditing(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditing(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditing(CommonFrame frame,
FrameElement[] widgets,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditing(CommonFrame frame,
FrameElement[] widgets,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
static void |
setEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
SET semanics. |
private static void |
setFuncReturn(java.lang.Object bdt,
BlockManager.WorkArea wa,
BlockType nearest)
Set the return value for the nearest enclosing function.
|
private static boolean |
setReturnValue(BlockManager.WorkArea wa,
LegacyError err)
If the error referenced is an
AppError, then also set the
RETURN-VALUE. |
static void |
stop()
Raise the STOP condition and cause control to be transferred to the
nearest enclosing block that handles the associated condition.
|
static void |
stopAfter(long val)
Offers runtime support for stop-after statement for Progress blocks.
|
static void |
stopAfter(NumberType val)
Offers runtime support for stop-after statement for Progress blocks.
|
static void |
storeExtentReturnValue(BaseDataType[] val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue()
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(BaseDataType val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(boolean val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(double val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(int val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(long val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(java.lang.String val)
Return from the nearest enclosing top-level block.
|
static void |
storeReturnValue(WrappedResource val)
Return from the nearest enclosing top-level block.
|
private static BlockManager.Disposition |
testLeave(BlockManager.WorkArea wa,
java.lang.String[] enclosing,
java.lang.String label)
Detect if the leave event is referencing this block OR if it is
referencing a directly enclosing block which is not managed by this
class.
|
private static BlockManager.Disposition |
testNext(BlockManager.WorkArea wa,
java.lang.String[] enclosing,
java.lang.String label)
Detect if the next event is referencing this block OR if it is
referencing a directly enclosing block which is not managed by this
class.
|
(package private) static void |
topLevelBlock(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType lvl,
BlockType btype,
Block block)
Execute the given top-level block with the given transaction level.
|
private static BlockType |
topLevelType(BlockManager.WorkArea wa)
Accesses the type of the nearest enclosing top level block.
|
static void |
trigger(Block block)
Execute the given trigger block as a SUB-transaction.
|
static void |
undoLeave()
Trigger a rollback of the current block and then leave that block.
|
static void |
undoLeave(java.lang.String label)
Trigger a rollback of the given block and then leave that block.
|
static void |
undoLeave(java.lang.String undo,
java.lang.String leave)
Trigger a rollback of the given block and then leave that block or a
more enclosing block.
|
static void |
undoNext()
Trigger a rollback of the current block and then iterate that block.
|
static void |
undoNext(java.lang.String label)
Trigger a rollback of the given block and then iterate that block.
|
static void |
undoNext(java.lang.String undo,
java.lang.String next)
Trigger a rollback of the given block and then iterate that block or
a more enclosing block.
|
static void |
undoRetry()
Trigger a rollback of the current block and then retry that block.
|
static void |
undoRetry(java.lang.String label)
Trigger a rollback of the given block and then retry that block.
|
static void |
undoRetryTopLevel()
Trigger a rollback of the nearest enclosing top-level block and then
retry that block.
|
static void |
undoReturnConsume()
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnConsume(character val)
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block, consuming any pending event processing.
|
static void |
undoReturnConsume(java.lang.String label)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnConsume(java.lang.String label,
character val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block, consuming any pending event processing.
|
static void |
undoReturnConsume(java.lang.String label,
java.lang.String val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block, consuming any pending event processing.
|
static void |
undoReturnConsumeTopLevel()
Trigger a rollback of and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnConsumeTopLevel(character val)
Trigger a rollback of and then return from the nearest
enclosing top-level block, consuming any pending event processing.
|
static void |
undoReturnConsumeTopLevel(java.lang.String val)
Trigger a rollback of and then return from the nearest
enclosing top-level block, consuming any pending event processing.
|
static void |
undoReturnError()
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnError(character val)
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnError(java.lang.String label)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnError(java.lang.String label,
character val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnError(java.lang.String label,
java.lang.String val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnErrorTopLevel()
Trigger a rollback of and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnErrorTopLevel(character val)
Trigger a rollback of and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnErrorTopLevel(java.lang.String val)
Trigger a rollback of and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal()
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(BaseDataType val)
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(boolean val)
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(double val)
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(int val)
Trigger a rollback of the current block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(java.lang.String label)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(java.lang.String label,
BaseDataType val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(java.lang.String label,
boolean val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(java.lang.String label,
double val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(java.lang.String label,
int val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormal(java.lang.String label,
java.lang.String val)
Trigger a rollback of the given block and then return from the nearest
enclosing top-level block.
|
static void |
undoReturnNormalTopLevel()
Trigger a rollback and then return from the nearest enclosing top-level
block.
|
static void |
undoReturnNormalTopLevel(BaseDataType val)
Trigger a rollback of the nearest enclosing top-level block and then
return from that block.
|
static void |
undoReturnNormalTopLevel(boolean val)
Trigger a rollback of the nearest enclosing top-level block and then
return from that block.
|
static void |
undoReturnNormalTopLevel(double val)
Trigger a rollback of the nearest enclosing top-level block and then
return from that block.
|
static void |
undoReturnNormalTopLevel(int val)
Trigger a rollback of the nearest enclosing top-level block and then
return from that block.
|
static void |
undoReturnNormalTopLevel(java.lang.String val)
Trigger a rollback of the nearest enclosing top-level block and then
return from that block.
|
static void |
undoThrow(object<? extends LegacyError> error)
Trigger a rollback of the current block and then throw a legacy condition.
|
static void |
undoThrowTopLevel(object<? extends LegacyError> error)
Trigger a rollback of the current block and then throw a legacy condition.
|
static void |
updateEditing(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditing(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditing(CommonFrame frame,
FrameElement[] widgets,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditing(CommonFrame frame,
FrameElement[] widgets,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
EventList goOn,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
java.lang.String[] enclosing,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
static void |
updateEditingUnlessHidden(CommonFrame frame,
FrameElement[] widgets,
java.lang.String label,
Block block)
Execute the given editing block for the given frame and widget list
with
UPDATE semanics. |
private static final CentralLogger LOG
private static final BlockManager.ContextContainer work
public static final java.lang.String FINALLY_BLOCK_LABEL
public static final java.lang.String CATCH_BLOCK_LABEL
private static final java.lang.String STATS_FILE
private static final java.lang.Object NULL
private static java.lang.String statsFile
private static java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicInteger> stats
private static java.util.Map<java.lang.String,java.util.concurrent.atomic.AtomicLong> times
public static void onRoutineLevel(BlockManager.Condition condition, BlockManager.Action action)
This will change the default ON ERROR from UNDO, RETRY to UNDO, THROW for all routines in this procedure or class (including its 'execute' method).
This includes:
condition - ERROR.action - THROW.public static void onBlockLevel(BlockManager.Condition condition, BlockManager.Action action)
This will change the default ON ERROR from UNDO, RETRY to UNDO, THROW for all routines in this procedure or class (including its 'execute' method).
This includes:
condition - ERROR.action - THROW.public static void stopAfter(NumberType val)
val - The number of seconds to wait before raising a QUIT.public static void stopAfter(long val)
val - The number of seconds to wait before raising a QUIT.public static void externalProcedure(Block block)
TransactionType.SUB.
This form may only be used with block instances that are anonymous inner classes since the containing business logic class can be calculated using reflection. Any usage with lambdas will fail!
block - The code to execute.public static void externalProcedure(BlockManager.TransactionType lvl, Block block)
This form may only be used with block instances that are anonymous inner classes since the containing business logic class can be calculated using reflection. Any usage with lambdas will fail!
lvl - The transaction level for the given block.block - The code to execute.public static void externalProcedure(java.lang.Object referent,
Block block)
TransactionType.SUB.
This form is suitable for use with lambdas but in such a case the referent
must be non-null.
referent - The instance of the containing business logic class from which this is being
called. If this is non-null, then block can be an instance created
using lambdas. If null, then block MUST BE an
anonymous inner class of the containing business logic instance so that instance
can be calculated via reflection.block - The code to execute.public static void externalProcedure(java.lang.Object referent,
BlockManager.TransactionType lvl,
Block block)
This form is suitable for use with lambdas but in such a case the referent
must be non-null.
referent - The instance of the containing business logic class from which this is being
called. If this is non-null, then block can be an instance created
using lambdas. If null, then block MUST BE an
anonymous inner class of the containing business logic instance so that instance
can be calculated via reflection.lvl - The transaction level for the given block.block - The code to execute.public static void externalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
Block block)
TransactionType.SUB.
This form is suitable for use with lambdas but in such a case the referent
must be non-null.
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The instance of the containing business logic class from which this is being
called. If this is non-null, then block can be an instance created
using lambdas. If null, then block MUST BE an
anonymous inner class of the containing business logic instance so that instance
can be calculated via reflection.block - The code to execute.public static void externalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
BlockManager.TransactionType lvl,
Block block)
This form is suitable for use with lambdas but in such a case the referent
must be non-null.
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The instance of the containing business logic class from which this is being
called. If this is non-null, then block can be an instance created
using lambdas. If null, then block MUST BE an
anonymous inner class of the containing business logic instance so that instance
can be calculated via reflection.lvl - The transaction level for the given block.block - The code to execute.public static void internalProcedure(Block block)
TransactionType.SUB.block - The code to execute.public static void internalProcedure(BlockManager.TransactionType lvl, Block block)
lvl - The transaction level for the given block.block - The code to execute.public static void internalProcedure(java.lang.String legacyName,
Block block)
TransactionType.SUB.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).block - The code to execute.public static void internalProcedure(java.lang.String legacyName,
BlockManager.TransactionType lvl,
Block block)
legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).lvl - The transaction level for the given block.block - The code to execute.public static void internalProcedure(java.lang.Object referent,
java.lang.String legacyName,
Block block)
TransactionType.SUB.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).block - The code to execute.public static void internalProcedure(java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType lvl,
Block block)
referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).lvl - The transaction level for the given block.block - The code to execute.public static void internalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
Block block)
TransactionType.SUB.def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).block - The code to execute.public static void internalProcedure(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType lvl,
Block block)
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).lvl - The transaction level for the given block.block - The code to execute.public static void trigger(Block block)
block - The code to execute.public static <T extends BaseDataType> T function(java.lang.Class<T> cls, Block block)
TransactionType.SUB.cls - The function's return type.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T function(java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<T> cls, int extent, Block block)
TransactionType.SUB, which returns an extent value.cls - The function's return type.extent - The function's return extent value.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<T> cls, int extent, BlockManager.TransactionType lvl, Block block)
cls - The function's return type.extent - The function's return extent value.lvl - The transaction level for the given block.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<T> cls, Block block)
TransactionType.SUB, which returns a dynamic extent value.cls - The function's return type.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.public static <T extends BaseDataType> T function(java.lang.String legacyName, java.lang.Class<T> cls, Block block)
TransactionType.SUB.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T function(java.lang.String legacyName, java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T function(java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, Block block)
TransactionType.SUB.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T function(java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T function(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, Block block)
TransactionType.SUB.def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T function(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.unknown value by default or on error.public static <T extends BaseDataType> T[] extentFunction(java.lang.String legacyName, java.lang.Class<T> cls, int extent, Block block)
TransactionType.SUB, which returns an extent value.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.extent - The function's return extent value.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.String legacyName, java.lang.Class<T> cls, int extent, BlockManager.TransactionType lvl, Block block)
legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.extent - The function's return extent value.lvl - The transaction level for the given block.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.String legacyName, java.lang.Class<T> cls, Block block)
TransactionType.SUB, which returns a dynamic extent value.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.String legacyName, java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, int extent, Block block)
TransactionType.SUB, which returns an extent value.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.extent - The function's return extent value.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, int extent, Block block)
TransactionType.SUB, which returns an extent value.def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.extent - The function's return extent value.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, int extent, BlockManager.TransactionType lvl, Block block)
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.extent - The function's return extent value.lvl - The transaction level for the given block.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, Block block)
TransactionType.SUB, which returns a dynamic extent value.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, Block block)
TransactionType.SUB, which returns a dynamic extent value.def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.public static <T extends BaseDataType> T[] extentFunction(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, java.lang.Class<T> cls, BlockManager.TransactionType lvl, Block block)
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).cls - The function's return type.lvl - The transaction level for the given block.block - The code to execute.public static void doBlock(java.lang.String label,
Block block)
TransactionType.NONE will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.label - The block name of the current block.block - The code to execute.public static void doBlock(java.lang.String[] enclosing,
java.lang.String label,
Block block)
TransactionType.NONE will be
used and there are no user-defined properties.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void doBlock(BlockManager.TransactionType lvl, java.lang.String label, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.block - The code to execute.public static void doBlock(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void doBlock(java.lang.String label,
OnPhrase[] on,
Block block)
TransactionType.NONE will be
used and there are no enclosing non-managed blocks.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void doBlock(java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
TransactionType.NONE will be
used.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void doBlock(BlockManager.TransactionType lvl, java.lang.String label, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void doBlock(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void doWhile(java.lang.String label,
LogicalOp expr,
Block block)
TransactionType.NONE will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void doWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
TransactionType.NONE will be
used and there are no user-defined properties.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void doWhile(BlockManager.TransactionType lvl, java.lang.String label, LogicalOp expr, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void doWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void doWhile(java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.NONE will be
used and there are no enclosing non-managed blocks.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void doWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.NONE will be
used.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void doWhile(BlockManager.TransactionType lvl, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void doWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void doTo(java.lang.String label,
ToClause to,
Block block)
TransactionType.NONE will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void doTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
TransactionType.NONE will be
used and there are no user-defined properties.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void doTo(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void doTo(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void doTo(java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
TransactionType.NONE will be
used and there are no enclosing non-managed blocks.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void doTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
TransactionType.NONE will be
used.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void doTo(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void doTo(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void doToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
TransactionType.NONE will be used and there are no
enclosing non-managed blocks. In addition, there are no user-defined
properties.
label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void doToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
TransactionType.NONE will be used and there are no
user-defined properties.
enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void doToWhile(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties and no enclosing non-managed blocks.
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void doToWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties.
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void doToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.NONE will be used and there are no
enclosing non-managed blocks.
label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void doToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.NONE will be used.
enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void doToWhile(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
There are no enclosing non-managed blocks.
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void doToWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void repeat(java.lang.String label,
Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.label - The block name of the current block.block - The code to execute.public static void repeat(java.lang.String[] enclosing,
java.lang.String label,
Block block)
TransactionType.SUB will be
used and there are no user-defined properties.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void repeat(BlockManager.TransactionType lvl, java.lang.String label, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.block - The code to execute.public static void repeat(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void repeat(java.lang.String label,
OnPhrase[] on,
Block block)
TransactionType.SUB will be used
and there are no enclosing non-managed blocks.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void repeat(java.lang.String[] enclosing,
java.lang.String label,
OnPhrase[] on,
Block block)
TransactionType.SUB will be used.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void repeat(BlockManager.TransactionType lvl, java.lang.String label, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void repeat(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void repeatWhile(java.lang.String label,
LogicalOp expr,
Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void repeatWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
Block block)
TransactionType.SUB will be
used and there are no user-defined properties.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void repeatWhile(BlockManager.TransactionType lvl, java.lang.String label, LogicalOp expr, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void repeatWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void repeatWhile(java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void repeatWhile(java.lang.String[] enclosing,
java.lang.String label,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.SUB will be
used.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void repeatWhile(BlockManager.TransactionType lvl, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void repeatWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void repeatTo(java.lang.String label,
ToClause to,
Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void repeatTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
Block block)
TransactionType.SUB will be
used and there are no user-defined properties.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void repeatTo(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void repeatTo(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void repeatTo(java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void repeatTo(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
OnPhrase[] on,
Block block)
TransactionType.SUB will be
used.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void repeatTo(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void repeatTo(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void repeatToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
TransactionType.SUB will be used and there are no
enclosing non-managed blocks. In addition, there are no user-defined
properties.
label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void repeatToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
Block block)
TransactionType.SUB will be used and there are no
user-defined properties.
enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void repeatToWhile(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties and no enclosing non-managed blocks.
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void repeatToWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties.
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.block - The code to execute.public static void repeatToWhile(java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.SUB will be used and there are no
enclosing non-managed blocks.
label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void repeatToWhile(java.lang.String[] enclosing,
java.lang.String label,
ToClause to,
LogicalOp expr,
OnPhrase[] on,
Block block)
TransactionType.SUB will be used.
enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void repeatToWhile(BlockManager.TransactionType lvl, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
There are no enclosing non-managed blocks.
lvl - The transaction level to be honored.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void repeatToWhile(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.public static void forBlock(P2JQuery query, int direction, java.lang.String label, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.block - The code to execute.public static void forBlock(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, Block block)
TransactionType.SUB will be
used and there are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void forBlock(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.block - The code to execute.public static void forBlock(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void forBlock(P2JQuery query, int direction, java.lang.String label, OnPhrase[] on, Block block)
TransactionType.SUB will be used
and there are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forBlock(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
TransactionType.SUB will be used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forBlock(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forBlock(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forBlockWhile(P2JQuery query, int direction, java.lang.String label, LogicalOp expr, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockWhile(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, Block block)
TransactionType.SUB will be
used and there are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, LogicalOp expr, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockWhile(P2JQuery query, int direction, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockWhile(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be
used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockTo(P2JQuery query, int direction, java.lang.String label, ToClause to, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.block - The code to execute.public static void forBlockTo(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, Block block)
TransactionType.SUB will be
used and there are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.block - The code to execute.public static void forBlockTo(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, ToClause to, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.block - The code to execute.public static void forBlockTo(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, Block block)
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.block - The code to execute.public static void forBlockTo(P2JQuery query, int direction, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.on - List of user-defined on phrases.block - The code to execute.public static void forBlockTo(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
TransactionType.SUB will be
used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.on - List of user-defined on phrases.block - The code to execute.public static void forBlockTo(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.on - List of user-defined on phrases.block - The code to execute.public static void forBlockTo(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.on - List of user-defined on phrases.block - The code to execute.public static void forBlockToWhile(P2JQuery query, int direction, java.lang.String label, ToClause to, LogicalOp expr, Block block)
TransactionType.SUB will be used and there are no
enclosing non-managed blocks. In addition, there are no user-defined
properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockToWhile(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, Block block)
TransactionType.SUB will be used and there are no
user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
enclosing - The list of non-managed block names that enclose the current
block.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockToWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties and no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockToWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forBlockToWhile(P2JQuery query, int direction, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be used and there are no
enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockToWhile(P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockToWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
There are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forBlockToWhile(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEach(P2JQuery query, java.lang.String label, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forBlock.label - The block name of the current block.block - The code to execute.public static void forEach(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, Block block)
TransactionType.SUB will be
used and there are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void forEach(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.block - The code to execute.public static void forEach(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.block - The code to execute.public static void forEach(P2JQuery query, java.lang.String label, OnPhrase[] on, Block block)
TransactionType.SUB will be used
and there are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forEach(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
TransactionType.SUB will be used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forEach(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forEach(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.public static void forEachWhile(P2JQuery query, java.lang.String label, LogicalOp expr, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachWhile(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, Block block)
TransactionType.SUB will be
used and there are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, LogicalOp expr, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachWhile(P2JQuery query, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachWhile(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be
used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.expr - The WHILE clause that defines the loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachTo(P2JQuery query, java.lang.String label, ToClause to, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks. In addition, there
are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void forEachTo(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, Block block)
TransactionType.SUB will be
used and there are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void forEachTo(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, ToClause to, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void forEachTo(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.block - The code to execute.public static void forEachTo(P2JQuery query, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
TransactionType.SUB will be
used and there are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void forEachTo(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
TransactionType.SUB will be
used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void forEachTo(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void forEachTo(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.on - List of user-defined on phrases.block - The code to execute.public static void forEachToWhile(P2JQuery query, java.lang.String label, ToClause to, LogicalOp expr, Block block)
TransactionType.SUB will be used and there are no
enclosing non-managed blocks. In addition, there are no user-defined
properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachToWhile(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, Block block)
TransactionType.SUB will be used and there are no
user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachToWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties and no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachToWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, Block block)
There are no user-defined properties.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.block - The code to execute.public static void forEachToWhile(P2JQuery query, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be used and there are no
enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachToWhile(P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
TransactionType.SUB will be used.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachToWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
There are no enclosing non-managed blocks.
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void forEachToWhile(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must be implemented directly inside the code of the block itself. This means that the caller is responsible for all query processing. The record retrieval must be done on the first line of code in the block to duplicate the Progress behavior. Note that this is required to handle all error cases and 4GL conditions properly.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.public static void promptForEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, java.lang.String[] enclosing, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, java.lang.String[] enclosing, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, java.lang.String[] enclosing, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditingUnlessHidden(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditing(CommonFrame frame, FrameElement[] widgets, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditing(CommonFrame frame, FrameElement[] widgets, java.lang.String[] enclosing, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditing(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void promptForEditing(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block)
PROMPT-FOR semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditing(CommonFrame frame, FrameElement[] widgets, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditing(CommonFrame frame, FrameElement[] widgets, java.lang.String[] enclosing, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditing(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void setEditing(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block)
SET semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditing(CommonFrame frame, FrameElement[] widgets, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditing(CommonFrame frame, FrameElement[] widgets, java.lang.String[] enclosing, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditing(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void updateEditing(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.public static void leave()
throws LeaveUnwindException
LeaveUnwindExceptionpublic static void leave(java.lang.String label)
throws LeaveUnwindException
label - The name of the block to be left.LeaveUnwindExceptionpublic static boolean deferredLeave(java.lang.String label)
true will be returned. The caller is responsible for
ensuring that the leave request is fully granted as no further state
will be available for subsequent processing.label - The name of the block to be checked against the deferred
leave block name.true if there is a pending deferred leave and
the name of the block to be left is the same as the given
label. If the pending deferred block name is the "" (empty
string), that is the equivalent of matching "any block" and
so the first call to this method after that is set will cause
a true to be returned.public static void next()
throws NextUnwindException
NextUnwindExceptionpublic static void next(java.lang.String label)
throws NextUnwindException
label - The name of the block to be iterated.NextUnwindExceptionpublic static boolean deferredNext(java.lang.String label)
true will be returned. The caller is responsible for
ensuring that the next request is fully granted as no further state
will be available for subsequent processing.label - The name of the block to be checked against the deferred
next block name.true if there is a pending deferred next and
the name of the block to be iterated is the same as the given
label. If the pending deferred block name is the "" (empty
string), that is the equivalent of matching "any block" and
so the first call to this method after that is set will cause
a true to be returned.public static void stop()
throws StopConditionException
StopConditionExceptionpublic static void quit()
throws QuitConditionException
QuitConditionExceptionpublic static void returnNormal()
throws ReturnUnwindException
RETURN-VALUE to "" (empty string) for internal/external
procedures and triggers. Leaves unknown value as the
default return from a user-defined function.ReturnUnwindExceptionpublic static void returnNormal(WrappedResource val)
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void returnNormal(BaseDataType val) throws ReturnUnwindException
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void returnExtentNormal(BaseDataType[] val) throws ReturnUnwindException
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void returnNormal(java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void returnNormal(int val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void returnNormal(long val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void returnNormal(double val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void returnNormal(boolean val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void storeReturnValue()
throws ReturnUnwindException
RETURN-VALUE to "" (empty string) for internal/external
procedures and triggers. Leaves unknown value as the
default return from a user-defined function.ReturnUnwindExceptionpublic static void storeReturnValue(WrappedResource val)
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void storeReturnValue(BaseDataType val) throws ReturnUnwindException
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void storeExtentReturnValue(BaseDataType[] val) throws ReturnUnwindException
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void storeReturnValue(java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the given character value for
internal/external procedures and triggers. Saves the given value as the
return value for a user-defined function. If val is
null, then RETURN-VALUE will be set to the
"" (empty string) for internal/external procedures and triggers. If
val is null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void storeReturnValue(int val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void storeReturnValue(long val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void storeReturnValue(double val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void storeReturnValue(boolean val)
throws ReturnUnwindException
RETURN-VALUE can only be set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void returnConsume()
throws ReturnUnwindException
RETURN-VALUE to "" (empty string) for internal/external
procedures and triggers. Leaves unknown value as the
default return from a user-defined function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
ReturnUnwindExceptionpublic static void returnConsume(character val) throws ReturnUnwindException
RETURN-VALUE to the given value
for internal/external procedures and triggers. Should not be called
for a user-defined function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
val - The value to return or null.ReturnUnwindExceptionpublic static void returnConsume(java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the given value
for internal/external procedures and triggers. Sets the given value as
the return value for a user-defined function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
val - The value to return or null.ReturnUnwindExceptionpublic static void returnError()
throws ReturnUnwindException,
ErrorConditionException
RETURN-VALUE to "" (empty string) for internal/external
procedures and triggers. Leaves unknown value as the
default return from a user-defined function.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
public static void returnError(character val) throws ReturnUnwindException, ErrorConditionException
null, this sets the default RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
It leaves unknown value as the default return from a
user-defined function. If the value is not null, then
that value (if it is a character type) will be set as the
RETURN-VALUE for internal/external procedures and triggers.
If not null, the value will be returned as the function
return value for user-defined functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
val - The value to return.ReturnUnwindExceptionErrorConditionExceptionpublic static void returnError(java.lang.String val)
throws ReturnUnwindException,
ErrorConditionException
null, this sets the default RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
It leaves unknown value as the default return from a
user-defined function. If the value is not null, then
that value will be set as the RETURN-VALUE for internal/
external procedures and triggers. If not null, the value
will be returned as the function return value for user-defined
functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
val - The value to return.ReturnUnwindExceptionErrorConditionExceptionpublic static void returnError(object<? extends LegacyError> error) throws ReturnUnwindException, ErrorConditionException
error - The error object.LegacyErrorExceptionReturnUnwindExceptionErrorConditionExceptionpublic static void catchBlock(Block block)
CATCH statement.block - The code to execute.public static <T extends LegacyError> void catchError(java.lang.Class<T> type, java.util.function.Consumer<object<T>> catchBlock)
The catch order is the order of this API registration calls.
type - The CATCH's error type.catchBlock - The code to be executed for this error.public static void processCatch(Body body)
body - The catch block to execute.public static void undoThrowTopLevel(object<? extends LegacyError> error)
error - The legacy error to throw.public static void undoThrow(object<? extends LegacyError> error)
error - The legacy error to throw.public static void undoLeave()
throws LeaveUnwindException
LeaveUnwindExceptionpublic static void undoLeave(java.lang.String label)
throws LeaveUnwindException
label - The name of the block that is the target of the undo and
leave operations.LeaveUnwindExceptionpublic static void undoLeave(java.lang.String undo,
java.lang.String leave)
throws LeaveUnwindException
If the current block is a variant of a FOR block, then the buffers associated with the block's query must not change the referenced record.
undo - The name of the block that is the target of the undo
operation.leave - The name of the block that is the target of the leave
operation.LeaveUnwindExceptionpublic static void undoNext()
throws NextUnwindException
Infinite loop protection may convert the NEXT action into a LEAVE depending on runtime state.
NextUnwindExceptionpublic static void undoNext(java.lang.String label)
throws NextUnwindException
Infinite loop protection may convert the NEXT action into a LEAVE depending on runtime state.
label - The name of the block that is the target of the undo and
next operations.NextUnwindExceptionpublic static void undoNext(java.lang.String undo,
java.lang.String next)
throws NextUnwindException
Infinite loop protection may convert the NEXT action into a LEAVE depending on runtime state.
undo - The name of the block that is the target of the undo
operation.next - The name of the block that is the target of the next
operation.NextUnwindExceptionpublic static void undoRetry()
throws RetryUnwindException
RetryUnwindExceptionpublic static void undoRetry(java.lang.String label)
throws RetryUnwindException
label - The name of the block that is the target of the undo and
retry operations.RetryUnwindExceptionpublic static void undoRetryTopLevel()
throws RetryUnwindException
RetryUnwindExceptionpublic static void undoReturnNormal()
throws ReturnUnwindException
RETURN-VALUE to
"" (empty string) for internal/external procedures and triggers. Leaves
unknown value as the default return from a user-defined
function.ReturnUnwindExceptionpublic static void undoReturnNormalTopLevel()
throws ReturnUnwindException
RETURN-VALUE to "" (empty string)
for internal/external procedures and triggers. Leaves
unknown value as the default return from a user-defined
function.ReturnUnwindExceptionpublic static void undoReturnNormal(java.lang.String label)
throws ReturnUnwindException
RETURN-VALUE to
"" (empty string) for internal/external procedures and triggers. Leaves
unknown value as the default return from a user-defined
function.label - The name of the block that is the target of the undo
operation.ReturnUnwindExceptionpublic static void undoReturnNormal(BaseDataType val) throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void undoReturnNormalTopLevel(BaseDataType val) throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void undoReturnNormal(java.lang.String label,
BaseDataType val)
throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.label - The name of the block that is the target of the undo
operation.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void undoReturnNormal(java.lang.String label,
java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.label - The name of the block that is the target of the undo
operation.val - The value to return or null.ReturnUnwindExceptionpublic static void undoReturnNormalTopLevel(java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.val - The value to return or null. For procedures
or triggers, this must be a character value.ReturnUnwindExceptionpublic static void undoReturnNormal(int val)
throws ReturnUnwindException
RETURN-VALUE can only be
set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormalTopLevel(int val)
throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormal(java.lang.String label,
int val)
throws ReturnUnwindException
RETURN-VALUE can only be
set to a character expression.
For a user-defined function, this saves the given value as the function return value.
label - The name of the block that is the target of the undo
operation.val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormal(double val)
throws ReturnUnwindException
RETURN-VALUE can only be
set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormalTopLevel(double val)
throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormal(java.lang.String label,
double val)
throws ReturnUnwindException
RETURN-VALUE can only be
set to a character expression.
For a user-defined function, this saves the given value as the function return value.
label - The name of the block that is the target of the undo
operation.val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormal(boolean val)
throws ReturnUnwindException
RETURN-VALUE can only be
set to a character expression.
For a user-defined function, this saves the given value as the function return value.
val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormalTopLevel(boolean val)
throws ReturnUnwindException
RETURN-VALUE to the
given character value for internal/external procedures and
triggers. Saves the given value as the return value for a user-defined
function. If val is null, then
RETURN-VALUE will be set to the "" (empty string) for
internal/external procedures and triggers. If val is
null for a user-defined function,
unknown value will be the default return.val - The value to return.ReturnUnwindExceptionpublic static void undoReturnNormal(java.lang.String label,
boolean val)
throws ReturnUnwindException
RETURN-VALUE can only be
set to a character expression.
For a user-defined function, this saves the given value as the function return value.
label - The name of the block that is the target of the undo
operation.val - The value to return.ReturnUnwindExceptionpublic static void undoReturnConsume()
throws ReturnUnwindException
RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
Leaves unknown value as the default return from a
user-defined function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
ReturnUnwindExceptionpublic static void undoReturnConsumeTopLevel()
throws ReturnUnwindException
RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
Leaves unknown value as the default return from a
user-defined function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
ReturnUnwindExceptionpublic static void undoReturnConsume(character val) throws ReturnUnwindException
RETURN-VALUE to the given value for internal/external
procedures and triggers. Should not be called for a user-defined
function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
val - The value to return or null.ReturnUnwindExceptionpublic static void undoReturnConsumeTopLevel(character val) throws ReturnUnwindException
RETURN-VALUE to the given value for internal/external
procedures and triggers. Should not be called for a user-defined
function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
val - The value to return or null.ReturnUnwindExceptionpublic static void undoReturnConsume(java.lang.String label)
throws ReturnUnwindException
RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
Leaves unknown value as the default return from a
user-defined function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
label - The name of the block that is the target of the undo
operation.ReturnUnwindExceptionpublic static void undoReturnConsume(java.lang.String label,
character val)
throws ReturnUnwindException
RETURN-VALUE to the given value for internal/external
procedures and triggers. Should not be called for a user-defined
function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
label - The name of the block that is the target of the undo
operation.val - The value to return or null.ReturnUnwindExceptionpublic static void undoReturnConsume(java.lang.String label,
java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the given value for internal/external
procedures and triggers. Should not be called for a user-defined
function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
label - The name of the block that is the target of the undo
operation.val - The value to return or null.ReturnUnwindExceptionpublic static void undoReturnConsumeTopLevel(java.lang.String val)
throws ReturnUnwindException
RETURN-VALUE to the given value for internal/external
procedures and triggers. Should not be called for a user-defined
function.
If executed for a trigger, force the event which caused the trigger execution to be consumed (no default processing of that event should occur).
val - The value to return or null.ReturnUnwindExceptionpublic static void undoReturnError()
throws ReturnUnwindException,
ErrorConditionException
RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
Leaves unknown value as the default return from a
user-defined function.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
public static void undoReturnErrorTopLevel()
throws ReturnUnwindException,
ErrorConditionException
RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
Leaves unknown value as the default return from a
user-defined function.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
public static void undoReturnError(java.lang.String label)
throws ReturnUnwindException,
ErrorConditionException
RETURN-VALUE
to "" (empty string) for internal/external procedures and triggers.
Leaves unknown value as the default return from a
user-defined function.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
label - The name of the block that is the target of the undo
operation.ReturnUnwindExceptionErrorConditionExceptionpublic static void undoReturnError(character val) throws ReturnUnwindException, ErrorConditionException
null,
this sets the default RETURN-VALUE to "" (empty string)
for internal/external procedures and triggers. It leaves
unknown value as the default return from a user-defined
function. If the value is not null, then that value (if
it is a character type) will be set as the
RETURN-VALUE for internal/external procedures and triggers.
If not null, the value will be returned as the function
return value for user-defined functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
val - The value to return.ReturnUnwindExceptionErrorConditionExceptionpublic static void undoReturnErrorTopLevel(character val) throws ReturnUnwindException, ErrorConditionException
null,
this sets the default RETURN-VALUE to "" (empty string)
for internal/external procedures and triggers. It leaves
unknown value as the default return from a user-defined
function. If the value is not null, then that value (if
it is a character type) will be set as the
RETURN-VALUE for internal/external procedures and triggers.
If not null, the value will be returned as the function
return value for user-defined functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
val - The value to return.ReturnUnwindExceptionErrorConditionExceptionpublic static void undoReturnError(java.lang.String label,
character val)
throws ReturnUnwindException,
ErrorConditionException
null,
this sets the default RETURN-VALUE to "" (empty string)
for internal/external procedures and triggers. It leaves
unknown value as the default return from a user-defined
function. If the value is not null, then that value (if
it is a character type) will be set as the
RETURN-VALUE for internal/external procedures and triggers.
If not null, the value will be returned as the function
return value for user-defined functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
label - The name of the block that is the target of the undo
operation.val - The value to return.ReturnUnwindExceptionErrorConditionExceptionpublic static void undoReturnError(java.lang.String label,
java.lang.String val)
throws ReturnUnwindException,
ErrorConditionException
null,
this sets the default RETURN-VALUE to "" (empty string)
for internal/external procedures and triggers. It leaves
unknown value as the default return from a user-defined
function. If the value is not null, then that value (if
it is a character type) will be set as the
RETURN-VALUE for internal/external procedures and triggers.
If not null, the value will be returned as the function
return value for user-defined functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
label - The name of the block that is the target of the undo
operation.val - The value to return.ReturnUnwindExceptionErrorConditionExceptionpublic static void undoReturnErrorTopLevel(java.lang.String val)
throws ReturnUnwindException,
ErrorConditionException
null,
this sets the default RETURN-VALUE to "" (empty string)
for internal/external procedures and triggers. It leaves
unknown value as the default return from a user-defined
function. If the value is not null, then that value (if
it is a character type) will be set as the
RETURN-VALUE for internal/external procedures and triggers.
If not null, the value will be returned as the function
return value for user-defined functions.
If silent error mode is not enabled in the caller, an ERROR
condition will be raised here and will unwind the stack (it will not
be processed, but will instead it will be rethrown) until it reaches
the caller's context at which time the error will be honored. If silent
error mode is enabled, the error data will be stored in the
ERROR-STATUS facility and a return will be executed to
return processing to the caller without raising the error condition
(without throwing an exception).
val - The value to return.ReturnUnwindExceptionErrorConditionExceptionstatic boolean mustManageLegacyError()
static boolean mustManageLegacyError(BlockManager.WorkArea wa)
wa - The BlockManager.WorkArea instance.static boolean mustThrowLegacyError(java.lang.Class<? extends LegacyError> errorClass)
mustManageLegacyError() or anywhere on the stack the specified error is handled
by a CATCH block.errorClass - The error class to be throw.static boolean mustThrowLegacyError(BlockManager.WorkArea wa, java.lang.Class<? extends LegacyError> errorClass)
mustManageLegacyError() or anywhere on the stack the specified error is handled
by a CATCH block.errorClass - The error class to be throw.static boolean hasLegacyError(java.lang.Class<? extends LegacyError> type, int levels)
If none found, ignore this exception. 4GL doesn't seem to propagate the errors further than then current block.
type - The error type to process.levels - Flag indicating which block to use (0 for current, 1 for parent, etc). Use -1 to search the
entire stack.true if this exception can be processed by the current block.static BlockManager.ReturnType getReturnType()
returnWorker(WorkArea, Object, ReturnType).
The value is valid from the time the converted code implementing the top-level
block is exited until after Scopeable.scopeFinished() is called.
null if the nearest
top-level code is not finished by execution of
returnWorker(WorkArea, Object, ReturnType).static java.lang.Object getFunctionReturn()
BlockManager.WorkArea.funcRet value.static boolean checkFunctionReturn(java.util.function.Function<java.lang.Object,java.lang.Boolean> func)
BlockManager.WorkArea.funcRet stack for the supplied condition.func - The condition to check.true if the condition applies to any of object in the return stack.static BlockManager.BlockManagerHelper getHelper()
ProcedureManager.ProcedureHelper, which has the context-local instance saved,
so API access can be done without a context-local query.static void topLevelBlock(java.lang.Class<?> def,
java.lang.Object referent,
java.lang.String legacyName,
BlockManager.TransactionType lvl,
BlockType btype,
Block block)
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The instance of the containing business logic class from which this is being
called. For external procedures, if this is non-null, then block
can be an instance created using lambdas. If null, then
block MUST BE an anonymous inner class of the containing business
logic instance so that instance can be calculated via reflection. For internal
procedures and triggers, this is expected to be null.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).lvl - The transaction level for the given block.btype - The type of block represented by the given code.block - The code to execute.static void ignoreNextCall(java.lang.Runnable abend)
abend - The code to execute instead of the top-level block.private static boolean setReturnValue(BlockManager.WorkArea wa, LegacyError err)
AppError, then also set the
RETURN-VALUE.wa - Context local work area. Must not be null.err - The error being processed.true if this is referencing an AppError instance.private static void leave(BlockManager.WorkArea wa, java.lang.String label) throws LeaveUnwindException
wa - Context local work area. Must not be null.label - The name of the block to be left.LeaveUnwindExceptionprivate static void next(BlockManager.WorkArea wa, java.lang.String label) throws NextUnwindException
wa - Context local work area. Must not be null.label - The name of the block to be iterated.NextUnwindExceptionprivate static java.lang.Boolean checkJavaCall(BlockManager.WorkArea wa, java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, Block block, boolean function, boolean externalProgram, boolean persistentProc)
ControlFlowOps APIs. If is
not from ControlFlowOps, then resolve push
the callee info.wa - Context local work area. Must not be null.referent - The instance of the containing business logic class from which this is being
called. For external procedures, if this is non-null, then block
can be an instance created using lambdas. If null, then
block MUST BE an anonymous inner class of the containing business
logic instance so that instance can be calculated via reflection. For internal
procedures and functions, this is expected to be null.def - The currently executing OE class or external program.legacyName - The legacy name associated with the function/procedure being invoked via a
java-style call. If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).block - The Block insance beeing executed.function - Flag indicating if we are calling a function.externalProgram - Flag indicating if we are calling an external program.persistentProc - Flag indicating if the called external program is persistent.true if we are in a java-style call, null if we need to abend.private static void processBody(BlockManager.WorkArea wa, Block block, OnPhrase[] on, OnPhrase[] defOn) throws java.lang.Throwable
FOR language statement. The main feature is to ensure that
any normal exit from the body will notify any Commitable
instances for validation purposes. A normal exit is a non-exception
return from Block.body(), or certain exception cases related to
LEAVE, NEXT, RETURN or
QUIT when they are not associated with an UNDO.wa - Context local data or null if not available in the caller.block - The block to execute.on - List of user-defined ON phrases. May be null.defOn - List of implicit ON phrases for this block. May be null.java.lang.Throwableprivate static boolean processForBody(BlockManager.WorkArea wa, Block block, ToClause to, LogicalOp expr, OnPhrase[] on, OnPhrase[] defOn) throws java.lang.Throwable
FOR language statement blocks or
loops. The main feature is to ensure that any normal exit from the body
will notify any Commitable instances for validation
purposes. A normal exit is a non-exception return from Block.body(),
or certain exception cases related to LEAVE,
NEXT, RETURN or QUIT when they are
not associated with an UNDO.wa - Context local data or null if not available in the caller.block - The block to execute.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined ON phrases. May be null.defOn - List of implicit ON phrases for this block. May be null.true if the code should break out of the block
on return (because the loop/block control expressions or
incrementer forced an exit).java.lang.Throwableprivate static boolean isNormal(BlockManager.WorkArea wa, java.lang.Throwable thr, OnPhrase[] on)
wa - Context local data or null if not available in the caller.thr - The exception to analyze.on - List of user-defined on phrases.true if the exception is a normal control-flow
condition.private static boolean deferredLeaveWorker(BlockManager.WorkArea wa, java.lang.String label)
true will be returned. The caller is responsible for
ensuring that the leave request is fully granted as no further state
will be available for subsequent processing.wa - Local context.label - The name of the block to be checked against the deferred
leave block name.true if there is a pending deferred leave and
the name of the block to be left is the same as the given
label. If the pending deferred block name is the "" (empty
string), that is the equivalent of matching "any block" and
so the first call to this method after that is set will cause
a true to be returned.private static boolean deferredNextWorker(BlockManager.WorkArea wa, java.lang.String label)
true will be returned. The caller is responsible for
ensuring that the next request is fully granted as no further state
will be available for subsequent processing.wa - Local context.label - The name of the block to be checked against the deferred
next block name.true if there is a pending deferred next and
the name of the block to be iterated is the same as the given
label. If the pending deferred block name is the "" (empty
string), that is the equivalent of matching "any block" and
so the first call to this method after that is set will cause
a true to be returned.private static void returnWorker(BaseDataType val, BlockManager.ReturnType rtype) throws ReturnUnwindException
BlockManager.ReturnType) and the presence
or absence of a value to return.
The following behavior is provided:
Codes Meaning
------ -----------------------------------------------------
C Invoke LogicalTerminal.consume()
E Invoke TransactionManager.triggerErrorInCaller()
V Invoke ControlFlowOps.setReturnValue(val)
N Invoke ControlFlowOps.setReturnValue("")
F Invoke setFuncReturn(val)
U Invoke setFuncReturn(null) (set return value as unknown)
I Invalid (compile error in Progress)
Return Return Internal External Trigger Function
Value Type Proc Proc
-------- --------- -------- -------- ------- --------
null NORMAL N N N U
non-null NORMAL V V V F
null CONSUME N N NC U
non-null CONSUME V V VC F
null ERROR NE NE I U
non-null ERROR VE VE I U
In all cases, a ReturnUnwindException will be thrown and this
will cause the stack to unwind to the nearest enclosing top-level
block. That block will then handle the return in a block specific
manner. For example, in a user-defined function, the given value or
by default the unknown value will be returned to the
caller. Procedures and triggers have void return values.
val - The value to return.rtype - The type of return processing.ReturnUnwindExceptionprivate static void returnWorker(BlockManager.WorkArea wa, java.lang.Object val, BlockManager.ReturnType rtype) throws ReturnUnwindException
BlockManager.ReturnType) and the presence
or absence of a value to return.
The following behavior is provided:
Codes Meaning
------ -----------------------------------------------------
C Invoke LogicalTerminal.consume()
E Invoke TransactionManager.triggerErrorInCaller()
V Invoke ControlFlowOps.setReturnValue(val)
N Invoke ControlFlowOps.setReturnValue("")
F Invoke setFuncReturn(val)
U Invoke setFuncReturn(null) (set return value as unknown)
I Invalid (compile error in Progress)
Return Return Internal External Trigger Function
Value Type Proc Proc
-------- --------- -------- -------- ------- --------
null NORMAL N N N U
non-null NORMAL V V V F
null CONSUME N N NC U
non-null CONSUME V V VC F
null ERROR NE NE I U
non-null ERROR VE VE I U
In all cases, a ReturnUnwindException will be thrown and this
will cause the stack to unwind to the nearest enclosing top-level
block. That block will then handle the return in a block specific
manner. For example, in a user-defined function, the given value or
by default the unknown value will be returned to the
caller. Procedures and triggers have void return values.
wa - Context local data or null if not available in caller.val - The value to return. If the function doesn't return an extent value, the element
zero will be returned.rtype - The type of return processing.ReturnUnwindExceptionprivate static void markReturnError(BlockManager.WorkArea wa)
BlockDefinition.wasReturnError.
This is called only when a RETURN ERORR (from within a top-level block) is being called, and is meant to mark all blocks on the stack, up to the nearest top-level block, that the exist is being done via a RETURN ERROR.
Do not call this method from other code.
wa - The context-local instance.private static <T extends BaseDataType> java.lang.Object functionBlock(java.lang.Class<?> def, java.lang.Object referent, java.lang.String legacyName, BlockManager.TransactionType level, Block block, java.lang.Class<T> retType, int extent)
def - The Java class associated with a legacy OE class, if this code is part of a legacy
OE class; otherwise, null.referent - The referent to which this method belongs.legacyName - The legacy name associated with the function being invoked via a java-style call.
If is null, it will be resolved by
ProcedureManager.resolveClosestMethod(java.lang.Object, boolean, boolean).level - The transaction level for the given block.block - The code to execute.retType - The type of the return value which is used in the case the
unknown value must be returned.extent - For functions not returning an extent value, this is -1. Else, this extent size,
which is 0 for dynamic-extent and >0 for fixed extent.unknown value by default or on error.private static void editingBlock(CommonFrame frame, FrameElement[] widgets, EventList goOn, java.lang.String[] enclosing, java.lang.String label, Block block, int etype)
UPDATE semanics. All looping, sub-transaction
properties and block properties will be honored. The exit from the
editing block will be based on the given GO-ON event list.frame - The frame for which the editing block is associated.widgets - The widgets in the given frame that are to be enabled for
editing.goOn - The exit conditions for this loop or null if
there are no explicit exit conditions.enclosing - The list of enclosing blocks of which this class is unaware.
Any LEAVE or NEXT that references one of those enclosing
blocks must not unwind the stack further using an exception,
but rather it must return and let the caller check to see if
a deferred LEAVE or NEXT must be honored.label - The label of the block for use in control flow statements
such as LEAVE or NEXT.block - The code for the editing block body.etype - Editing block semantics (CommonFrame.PROMPT-FOR,
CommonFrame.SET or
CommonFrame.UPDATE).private static void doBlockWorker(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current block.label - The block name of the current block.on - List of user-defined on phrases.block - The code to execute.private static void doTerminationBlockWorker(BlockManager.WorkArea wa, BlockManager.TransactionType lvl, java.lang.String label, boolean finBlock, Block block)
doBlockWorker(com.goldencode.p2j.util.BlockManager.TransactionType, java.lang.String[], java.lang.String, com.goldencode.p2j.util.OnPhrase[], com.goldencode.p2j.util.Block).wa - The BlockManager.WorkArea instance.lvl - The transaction level to be honored.label - The block name of the current block.finBlock - Flag identifying a FINALLY block when true and a CATCH block otherwise.block - The code to execute.private static void doLoopWorker(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.private static void repeatWorker(BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.block - The code to execute.private static void coreLoop(BlockType btype, boolean next, BlockManager.TransactionType lvl, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, OnPhrase[] defOn, Block block)
btype - Current block type.next - true if on infinite loop protection a retry
should be converted to a NEXT, false to convert
to a LEAVE.lvl - The transaction level to be honored.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.on - List of user-defined on phrases.defOn - List of default properties for the block. Use
null to indicate no default properties for the
block.block - The code to execute.private static void forBlockWorker(BlockManager.TransactionType lvl, P2JQuery query, int direction, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must
be implemented directly inside the code of the block itself or if there
is a TO or WHILE clause then the query processing should be located in
the Block.enter() method. This means that the caller is
responsible for all query processing. The record retrieval must be done
on the first line of code in the block or in the enter
method to duplicate the Progress behavior. Note that this is required
to handle all error cases and 4GL conditions properly.
The evaluation of the TO or WHILE block termination conditions is done AFTER the record retrieval. This causes any found record to remain available if the block is never entered because of the TO or WHILE conditions.
lvl - The transaction level to be honored.query - query that will iterate forBlock.direction - direction in which query will be iterating.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines the block condition. The block
control variable is initialized before entering the block.
Before the block body is entered, the control variable is
compared to the termination value (which is dynamically
resolved at that moment). if the termination condition is
met, the block is never entered.expr - The WHILE clause that defines a block condition. This
expression is evaluated before the block body is about to
be entered. The block body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.private static void forEachWorker(BlockManager.TransactionType lvl, P2JQuery query, java.lang.String[] enclosing, java.lang.String label, ToClause to, LogicalOp expr, OnPhrase[] on, Block block)
The record retrieval that is associated with FOR blocks or loops must
be implemented directly inside the code of the block itself or if there
is a TO or WHILE clause then the query processing should be located in
the Block.enter() method. This means that the caller is
responsible for all query processing. The record retrieval must be done
on the first line of code in the block or in the enter
method to duplicate the Progress behavior. Note that this is required
to handle all error cases and 4GL conditions properly.
The evaluation of the TO or WHILE block termination conditions is done AFTER the record retrieval. This causes any found record to remain available if the loop is never entered (or re-entered) because of the TO or WHILE conditions.
lvl - The transaction level to be honored.query - query that will iterate forEachBlock.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false.on - List of user-defined on phrases.block - The code to execute.private static boolean needsIterate(ToClause to, LogicalOp expr)
null individually or simultaneously.to - The TO clause that defines a loop condition. The loop control
variable is initialized on the first pass through and on
subsequent passes it is incremented by a given factor. Before
the loop body is entered, the loop control variable is
compared to the termination value (which is dynamically
resolved at each loop iteration). When the termination
condition is met, the loop ends. If this is null,
then a WHILE clause MUST be present to provide the condition
for maintaining the loop.expr - The WHILE clause that defines a loop condition. This
expression is evaluated every time the loop body is about to
be entered. The loop body will be entered unless the
expression evaluates to false. If this is
null, then a TO clause MUST be present to
provide the condition for maintaining the loop.true if all non-null parameters evaluate to
true or if both parameters are null.private static void processLegacyError(BlockManager.WorkArea wa, LegacyErrorException lex, OnPhrase[] on, OnPhrase[] defOn)
If none found, ignore this exception. 4GL doesn't seem to propagate the errors further than then current block.
If a CATCH block is found, then execute it.
wa - Context local data or null if not available in the caller.lex - The thrown legacy error.on - List of user-defined ON phrases. May be null.defOn - List of implicit ON phrases for this block. May be null.LegacyErrorException - If the processing needs to be deferred.private static boolean hasLegacyError(BlockManager.WorkArea wa, java.lang.Class<? extends LegacyError> type, int levels)
If none found, ignore this exception. 4GL doesn't seem to propagate the errors further than then current block.
wa - Context local data or null if not available in caller.type - The error type to process.levels - Flag indicating which block to use (0 for current, 1 for parent, etc). Use -1 to search the
entire stack.true if this exception can be processed by the current block.private static void processLegacyException(BlockManager.WorkArea wa, LegacyErrorException e)
wa - Context local data or null if not available in the caller.e - The legacy error exception that caused the unwinding.private static BlockManager.Disposition processCondition(BlockManager.WorkArea wa, OnPhrase[] user, OnPhrase[] def, ConditionException ce, java.lang.String[] enclosing, java.lang.String label) throws ConditionException, StackUnwindException, RetryUnwindException
This honors infinite loop protection for converting NEXT to LEAVE based on runtime state.
wa - Context local data or null if not available in the caller.user - List of user-defined on phrases.def - List of default on phrases for the current block type.ce - The condition being raised.enclosing - The list of non-managed block names that enclose the current
block.label - The block name of the current block.ConditionExceptionStackUnwindExceptionRetryUnwindExceptionstatic BlockManager.Condition exceptionToCondition(ConditionException ce)
BlockManager.Condition code.ce - Source exception.BlockManager.Condition codes or null if no
match is found.private static OnPhrase matchCondition(OnPhrase[] user, OnPhrase[] def, BlockManager.Condition cond)
user - The set of user-defined on phrases for the current block.def - The set of default on phrases for the current block.cond - The condition being matched.null if there is no match in either list.private static int decodeConditions(OnPhrase[] user, OnPhrase[] def)
The inputs are analyzed to match Condition values with
their corresponding bits in the TransactionManager
properties bitfield.
The bits are defined by TransactionManager.PROP_NONE,
TransactionManager.PROP_ERROR,
TransactionManager.PROP_ENDKEY,
TransactionManager.PROP_STOP or
TransactionManager.PROP_QUIT.
user - The set of user-defined on phrases for the current block.def - The set of default on phrases for the current block.PROP_NONE will be
returned if both parameters are null and/or
empty.private static int conditionMask(BlockManager.Condition cond)
Condition with its corresponding
TransactionManager constant.cond - The condition to match.private static BlockManager.Disposition testLeave(BlockManager.WorkArea wa, java.lang.String[] enclosing, java.lang.String label)
The target of the leave operation must have been stored in context local data when the leave exception was thrown (which caused the stack to unwind).
This method is called from within a catch block to determine how to respond to the deferred leave operation for the current block.
wa - Context local work area. Must not be null.enclosing - The list of non-managed blocks that directly enclose the
current block.label - The name of the current block. If this matches the target of
the deferred leave operation, then the current block must
be left.BREAK or THROW.private static BlockManager.Disposition testNext(BlockManager.WorkArea wa, java.lang.String[] enclosing, java.lang.String label)
The target of the next operation must have been stored in context local data when the next exception was thrown (which caused the stack to unwind).
This method is called from within a catch block to determine how to respond to the deferred next operation for the current block.
wa - Context local work area. Must not be null.enclosing - The list of non-managed blocks that directly enclose the
current block.label - The name of the current block. If this matches the target of
the deferred leave operation, then the current block must
be left.BREAK, CONTINUE or
THROW.private static void exitTopLevel(BlockManager.WorkArea wa)
wa - The local context.private static void executeStateManaged(BlockManager.WorkArea wa, java.lang.Runnable code)
wa - Context local data or null if not available in the caller.code - The code to execute.private static void setFuncReturn(java.lang.Object bdt,
BlockManager.WorkArea wa,
BlockType nearest)
FUNCTION. Multiple calls to this before
returning from the function block will cause the value passed on the last call to be
honored.bdt - The return value to set. Passing null will reset the return value to
unknown.wa - The current context's data or null to force a lookup of the context data.nearest - The nearest top-level block. Should be a FUNCTION block. Pass null to
use the context data to find the block.private static boolean matches(java.lang.String[] list,
java.lang.String entry)
list - The list of strings to check against.entry - The element for which to search.true if the given entry is found in the given
list.private static int convertTransType(BlockManager.TransactionType ttype, BlockType btype)
TransactionManager constants.ttype - The enum to convert.btype - The block type.TransactionManager constant.private static BlockType topLevelType(BlockManager.WorkArea wa)
wa - The current context's data or null to force a lookup of the context data.null if there is no top-level
block in the call stack.private static boolean isPersistentTriggerTopLevel(BlockManager.WorkArea wa)
wa - The current context's data.true if we are on the top level of a persistent triggerprivate static void recordExecutionStats(BlockType type, Block block, long start)
type - The type of the block.block - The block that is about to be executed.start - The start time of the block's execution.private static void dumpExecutionStats()