public interface ExprCompileContext
Modifier and Type | Interface and Description |
---|---|
static interface |
ExprCompileContext.CompilerCallback
Provides an interface for the compile context to raise compiler
errors/warnings.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
UNKNOWN_PARAMETER_TYPE_NAME |
static java.lang.String |
VOID_RETURN_TYPE
May be returned from
getMethodReturnType to indicate that the
method is recognized, but returns void. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getDisplayType()
Return a type name for the compile context to be used in error and
and warning messages.
|
ExprDef |
getExprDef()
Return the definition of the expressio that is compiling.
|
ExprTrustSupplier |
getExprTrustSupplier()
Return the security policiy that is associated with this context.
|
ExprCompileContext |
getExtendedType()
Return a compile context to type an unhandled
variable/property/method that is defined within the context of
another variable/property/method.
|
java.lang.String |
getGlobalOperationReturnType(java.lang.String name,
java.lang.String... argtypes)
Return the type of the given global operations.
|
java.lang.String |
getMethodReturnType(java.lang.String receiverType,
java.lang.String name,
java.lang.String[] argtypes,
java.lang.String[] argvals)
Return the return type of the given method.
|
java.lang.String |
getPropertyType(java.lang.String objectType,
java.lang.String name)
Return the type of the given property.
|
StructureDefinition |
getStructureDefinition()
Return the
oracle.binding.meta.StructureDefnition of the compile
context. |
java.lang.String |
getVariableType(java.lang.String name)
Return the type of the given variable.
|
boolean |
isCodeSource()
Indicates whether the compile source belongs to an ADF/BC code source.
|
boolean |
isMandatoryAttribute(java.lang.String name)
Deprecated.
since 11.1.1.7.1 This should be available as a property
of the
AttributeDefinition that is
retrieved from the compile context's StructureDefinition.
See oracle.adf.model.utils.JSR227Util.IS_MANDATORY . |
boolean |
isRowAttribute(java.lang.String name)
Returns whether the variable resolves to an row attribute.
|
boolean |
isTypeChecked()
Returns whether type checking should be performed in this compile context.
|
void |
setTypeCheckerClassLoader(java.lang.ClassLoader classLoader) |
static final java.lang.String UNKNOWN_PARAMETER_TYPE_NAME
static final java.lang.String VOID_RETURN_TYPE
getMethodReturnType
to indicate that the
method is recognized, but returns void.ExprDef getExprDef()
StructureDefinition getStructureDefinition()
oracle.binding.meta.StructureDefnition
of the compile
context. For example, when compiling an entity validation rule this
should return the StructureDefinition of the entity.boolean isTypeChecked()
boolean isCodeSource()
java.lang.String getPropertyType(java.lang.String objectType, java.lang.String name)
Invoked by the type checker if it cannot resolve the specifid property.
java.lang.String getVariableType(java.lang.String name)
Invoked by the type checker if it cannot resolve the specified variable.
boolean isRowAttribute(java.lang.String name)
Invoked by the type checker to perform additional validation of attribute variables.
boolean isMandatoryAttribute(java.lang.String name)
AttributeDefinition
that is
retrieved from the compile context's StructureDefinition.
See oracle.adf.model.utils.JSR227Util.IS_MANDATORY
.java.lang.String getMethodReturnType(java.lang.String receiverType, java.lang.String name, java.lang.String[] argtypes, java.lang.String[] argvals)
Invoked by the type checker if it cannot resolve the specified method.
java.lang.String getGlobalOperationReturnType(java.lang.String name, java.lang.String... argtypes)
ExprTrustSupplier getExprTrustSupplier()
ExprCompileContext getExtendedType()
This will be invoked once by the type checker after it resolves an unhandled variable/property/method. This method may be used to pass a compile context back to the compile context that will be invoked later to handle types in the enclosing context.
For example, consider an expression that is evaluated in the context of
an Emp validator:
Dept.Loc
where 'Dept' is defined as an accessor that references the Emp's department.
When the compile context is asked for the java type of the 'Dept' variable (i.e. 'oracle.jbo.Row') an extended type may also be defined by instantiating a new compile context for the 'Dept' structure and returning that when the type checker invokes getExtendedType. The ADF type checking extension will store the extended type with the returned java type. When the 'Loc' property is later typed the type checker will query the 'Dept' variable extended data rather than the base script context.
java.lang.String getDisplayType()
@Concealed void setTypeCheckerClassLoader(java.lang.ClassLoader classLoader)