private static class WidgetPool.WorkArea
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private java.util.Set<java.lang.Integer> |
ids
A cached set instance used by
scopeFinished(java.lang.Object, boolean, boolean). |
private java.util.Map<java.lang.String,java.lang.Integer> |
namedPools
Pool names are global, so keep a map of them (key is always lowercased).
|
private java.util.Deque<java.util.Set<java.lang.Integer>> |
namedPoolScopes
Keep the scopes of named pools.
|
private ObjectOps.ObjectHelper |
oh
Helper to use the ObjectOps without any context local lookups.
|
private java.util.Set<java.lang.Integer> |
persistentPools
A set containing the ID of all persistent pools.
|
private ProcedureManager.ProcedureHelper |
pm
Helper to use the ProcedureManager without any context local lookups.
|
private java.util.Map<WrappedResource,java.lang.Integer> |
poolForResource
Identify the pool to which a resource was added (if was pooled).
|
private java.util.Map<java.lang.Integer,WidgetPool.WidgetPoolData> |
pools
A registry of pools, per its ID.
|
private java.util.Map<java.lang.Object,java.util.Set<java.lang.Integer>> |
poolsPerExtProg
Collect all the created pools for an external program.
|
private java.util.Map<java.lang.Integer,java.lang.Object> |
procForPool
Identify the external procedure used to create the pool.
|
private TransactionManager.TransactionHelper |
tm
Helper to use the TM without any context local lookups.
|
private java.util.Set<java.lang.Integer> |
unnamedPools
A set containing the ID of all unnamed pools.
|
private java.util.Deque<java.util.Deque<java.lang.Integer>> |
unnamedPoolScopes
Keep the scopes of unnamed pools (only one can be active at a certain time).
|
private java.util.Map<java.lang.Object,java.util.Deque<java.lang.Integer>> |
unnamedProcPools
A map of the unnamed pools active at the time the persistent pool has executed.
|
| Modifier | Constructor and Description |
|---|---|
private |
WorkArea() |
| Modifier and Type | Method and Description |
|---|---|
void |
scopeFinished(java.lang.Object oThis,
boolean external,
boolean persistent)
Notify a scope has finished; invoked by
ProcedureManager's scoping support when a
scope is finished. |
void |
scopeStart(BlockDefinition block)
Notify a new scope has started; invoked by
ProcedureManager's scoping support when
a new scope is started. |
private TransactionManager.TransactionHelper tm
private ProcedureManager.ProcedureHelper pm
private ObjectOps.ObjectHelper oh
private final java.util.Map<java.lang.Integer,WidgetPool.WidgetPoolData> pools
private final java.util.Map<java.lang.String,java.lang.Integer> namedPools
private final java.util.Set<java.lang.Integer> unnamedPools
private final java.util.Set<java.lang.Integer> persistentPools
private final java.util.Map<WrappedResource,java.lang.Integer> poolForResource
private final java.util.Map<java.lang.Integer,java.lang.Object> procForPool
private final java.util.Map<java.lang.Object,java.util.Set<java.lang.Integer>> poolsPerExtProg
private final java.util.Deque<java.util.Set<java.lang.Integer>> namedPoolScopes
private final java.util.Deque<java.util.Deque<java.lang.Integer>> unnamedPoolScopes
private final java.util.Map<java.lang.Object,java.util.Deque<java.lang.Integer>> unnamedProcPools
private final java.util.Set<java.lang.Integer> ids
scopeFinished(java.lang.Object, boolean, boolean).public void scopeStart(BlockDefinition block)
ProcedureManager's scoping support when
a new scope is started.
Notification will be performed only on the start of a top-level block (external program, procedure, function or trigger).
No default unnamed pool will be created. An unnamed pool must be explicitly created to be used.
block - The explicit block definition which required this notification.public void scopeFinished(java.lang.Object oThis,
boolean external,
boolean persistent)
ProcedureManager's scoping support when a
scope is finished.
This will delete the created non-persistent pools, but only if this is not a notification of an external procedure which was ran persistent.
Notification will be performed only on the end of a top-level block (external program, procedure, function or trigger).
oThis - Current THIS-PROCEDURE handle.external - Flag indicating that this is an external procedure.persistent - Flag indicating that this external procedure is ran persistent.