private static class ProcedureManager.CalleeInfoImpl extends java.lang.Object implements CalleeInfo
ProcedureManager.WorkArea.scopeStart()
.Modifier and Type | Field and Description |
---|---|
private java.lang.Object |
destination
The procedure where the internal entry was resolved.
|
private java.lang.Class<?> |
executing
The currently executing OE class or external program.
|
private boolean |
function
Flag indicating we are calling a user-defined function.
|
private java.lang.String |
iename
The internal entry name.
|
private java.lang.String |
legacyName
The already known legacy name for the internal entry.
|
private boolean |
persistentProc
Flag indicating the external program was ran persistent.
|
private java.lang.String |
pname
The external program name; will be non-null only when we are invoking an external
program.
|
private boolean |
singleRunProc
Flag indicating the external program was ran as single-run.
|
private boolean |
singletonProc
Flag indicating the external program was ran as singleton.
|
private boolean |
superCall
Flag indicating if the destination is in a super-procedure.
|
private java.lang.Object |
target
The target procedure, which was targeted by the caller.
|
private ProcedureManager.WorkArea |
wa
Access to context-local data.
|
Constructor and Description |
---|
CalleeInfoImpl(ProcedureManager.WorkArea wa,
java.lang.Class<?> def,
boolean superCall,
java.lang.Object target,
java.lang.Object destination,
java.lang.String iename,
java.lang.String pname,
boolean function,
boolean persistentProc,
boolean singletonProc,
boolean singleRunProc)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getDestination()
The procedure where the internal entry was resolved.
|
java.lang.String |
getExternalProgramName()
The external program name; will be non-null only when we are invoking an external
program.
|
java.lang.String |
getInternalEntryName()
The internal entry name.
|
boolean |
isFunction()
Flag indicating a user-defined function is called.
|
void |
pop()
Called by
ProcedureManager.WorkArea.scopeFinished() - depending on the callee's configuration, it
backs out the data pushed by push() , so the state will be the same as before
the callee as invoked. |
void |
push()
Called by
ProcedureManager.WorkArea.scopeStart() - depending on the callee's configuration, it
populates the procedure system handles and maintains persistent procedures. |
void |
setLegacyName(java.lang.String legacyName)
Set the
legacyName so that ProcedureManager.pushInternalEntry(com.goldencode.p2j.util.ProcedureManager.WorkArea, java.lang.Object, java.lang.String, boolean, java.lang.String) will avoid resolve
it via SourceNameMapper , as that is expensive. |
private final boolean superCall
private final java.lang.Object target
private final java.lang.Object destination
private final java.lang.String iename
ProcedureManager.EXTERNAL_PROGRAM
and ProcedureManager.TRIGGER_PROCEDURE
constants.private final java.lang.Class<?> executing
private final java.lang.String pname
private final boolean function
private final boolean persistentProc
private final boolean singletonProc
private final boolean singleRunProc
private final ProcedureManager.WorkArea wa
private java.lang.String legacyName
public CalleeInfoImpl(ProcedureManager.WorkArea wa, java.lang.Class<?> def, boolean superCall, java.lang.Object target, java.lang.Object destination, java.lang.String iename, java.lang.String pname, boolean function, boolean persistentProc, boolean singletonProc, boolean singleRunProc)
wa
- Access to context-local data.def
- The currently executing OE class or external program.superCall
- Flag indicating if the destination is in a super-procedure.target
- The target procedure, which was targeted by the caller.destination
- The procedure where the internal entry was resolved.iename
- The internal entry name. In case of triggers or external programs, use the
ProcedureManager.EXTERNAL_PROGRAM
and ProcedureManager.TRIGGER_PROCEDURE
constants.pname
- The external program name; will be non-null only when we are invoking an external
program.function
- Flag indicating we are calling a user-defined function.persistentProc
- Flag indicating the external program was ran persistent.singletonProc
- Flag indicating the external program was ran singleton.singleRunProc
- Flag indicating the external program was ran single-run.public void setLegacyName(java.lang.String legacyName)
legacyName
so that ProcedureManager.pushInternalEntry(com.goldencode.p2j.util.ProcedureManager.WorkArea, java.lang.Object, java.lang.String, boolean, java.lang.String)
will avoid resolve
it via SourceNameMapper
, as that is expensive. This is done only in cases where the
internal entry's legacy name is previously resolved.setLegacyName
in interface CalleeInfo
legacyName
- The resolved internal entry's legacy name.public void push()
ProcedureManager.WorkArea.scopeStart()
- depending on the callee's configuration, it
populates the procedure system handles and maintains persistent procedures.public void pop()
ProcedureManager.WorkArea.scopeFinished()
- depending on the callee's configuration, it
backs out the data pushed by push()
, so the state will be the same as before
the callee as invoked.public java.lang.String getInternalEntryName()
ProcedureManager.TRIGGER_PROCEDURE
and ProcedureManager.EXTERNAL_PROGRAM
constants respectively.getInternalEntryName
in interface CalleeInfo
public java.lang.Object getDestination()
getDestination
in interface CalleeInfo
public java.lang.String getExternalProgramName()
getExternalProgramName
in interface CalleeInfo
String
representing the program name.public boolean isFunction()
isFunction
in interface CalleeInfo