public final class OperationDefinitionsImpl extends DefObject implements OperationDefinitions, ExprDef
findOperationDefinitions(ComponentObject)
PersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationType
ExprDef.META, ExprDef.OverrideMode, ExprDef.SourceHintProperty, ExprDef.Visibility
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
RESERVED_DISPLAYNAME
For internal framework use only.
|
static java.lang.String |
RESERVED_FLATNAME
For internal framework use only.
|
static java.lang.String |
RESERVED_OFFSETS
For internal framework use only.
|
mEditedProperties, mEditedPropertyExprs
DEF_MDS_CLIENT_KEY, DEF_SCOPE_ALL, DEF_SCOPE_PERS, DEF_SCOPE_SESSION, DEF_SCOPE_SHARED, DEF_SCOPE_SITE, DEF_SCOPE_USER, mBaseDefObject, mExtendedDefObjects, mObjectResolved, PERSDEF_MDS_CLIENT_KEY, PROPERTY_EXPRMAP
mFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX, RESID_SUFFIX
BINDING, GROOVY_MIME_TYPE, JI_MIME_TYPE, mLogger, NASHORN_MIME_TYPE, OVERRIDEMODE_PROPERTY, VISIBILITY_PROPERTY
XML_STATEMENT
Constructor and Description |
---|
OperationDefinitionsImpl(java.lang.String operType)
For internal framework use only.
|
OperationDefinitionsImpl(java.lang.String operType,
java.lang.String fullName)
For internal framework use only.
|
Modifier and Type | Method and Description |
---|---|
OperationDefinitionImpl |
addGroovyOperation(java.lang.String id,
java.lang.String name,
java.lang.String returnType,
java.util.LinkedHashMap<java.lang.String,java.lang.String> params,
java.lang.String body)
For internal framework use only.
|
OperationDefinitionImpl |
addOperation(OperationDefinitionImpl opDef)
For internal framework use only.
|
void |
addOperations(OperationDefinitionsImpl newOpDefs)
For internal framework use only.
|
void |
applyDiffChildren(DifferDetails dif,
DiffResolver resolver)
Applies changes to children defs.
|
OperationDefinitionsImpl |
clone()
For internal framework use only.
|
DifferDetails |
diffChildren(DiffMergeable docDef,
DiffMergeable orgDef,
DifferDetails difDetails)
Performs diff of children defs.
|
static OperationDefinitions |
findOperationDefinitions(ComponentObject componentObject)
For internal framework use only.
|
static OperationDefinitions |
findOperationDefinitions(Row componentObject)
For internal framework use only.
|
java.lang.String[] |
findParameterNames(java.lang.reflect.Method method)
For internal framework use only.
|
java.lang.String[] |
findParameterNames(java.lang.String signature)
For internal framework use only.
|
java.lang.Object |
getCacheKey(java.lang.String exprStr)
The key to be used for caching compiled expression instances.
|
ExprCodeSource |
getCodeSource()
Returns the code source that contains the code for this expression.
|
java.lang.String |
getCodeSourceName()
Returns the CodeSourceName for this expression.
|
java.lang.String |
getContentType()
Return the MIME content type of the expression's script text.
|
int |
getDefTypeId() |
java.lang.String |
getDefXMLElementTag()
For internal framework use only.
|
java.lang.String |
getDefXMLNameSpace()
For internal framework use only.
|
java.lang.String |
getExpressionClassName()
Returns the name used for the expression class.
|
java.lang.String |
getExprIdentifier()
A unique identfier for the expression.
|
java.lang.String |
getFunctionName()
Return the name of the script function that should be invoked when
evalauting the expression definition.
|
ExprEval |
getGroovyExpr()
For internal framework use only.
|
java.lang.Class |
getMessageBundleClass() |
java.util.HashMap<java.lang.String,OperationDefinitionImpl> |
getOperations()
For internal framework use only.
|
OperationDefinitions |
getOperDefValues() |
ExprDef.OverrideMode |
getOverrideMode()
The override mode for the expression.
|
java.lang.String |
getOwnerName()
For internal framework use only.
|
OwnerType |
getOwnerType()
Returns the type of object that owners the expression class.
|
java.lang.String |
getPath()
A dot separated path that may be used to lookup the ExprDef
within the ExprDef's owning compnent.
|
ResourceBundleDef |
getResourceBundleDef() |
javax.script.CompiledScript |
getScript()
For internal framework use only.
|
java.lang.String |
getScriptClassName(java.lang.String exprStr)
Returns the name used for the expression class.
|
java.io.Reader |
getScriptReader() |
java.lang.String |
getScriptText() |
static java.lang.String |
getSignature(java.lang.reflect.Method method) |
java.util.List<OperationDefinitionImpl> |
getSortedOperations() |
java.lang.String |
getTriggerType()
Return the trigger type.
|
ExprEval.TrustMode |
getTrustMode()
The trust mode for the expression.
|
ExprEval.TypeCheckedMode |
getTypeCheckedMode()
Returns whether the expresion should be type checked when type checking
is enabled for the groovy compiler.
|
java.lang.String |
getUniqueID(java.lang.String prefix)
For internal framework use only.
|
ExprDef.Visibility |
getVisibility()
The visibility of the expression.
|
java.lang.String |
getXMLElementTag()
For internal framework use only.
|
protected boolean |
hasGroovy()
For internal framework use only.
|
boolean |
hasReturn()
If the expression has a return value.
|
boolean |
isGlobal()
For internal framework use only.
|
boolean |
isOperationsExpression()
If the expression defines operations.
|
boolean |
isResolved() |
static OperationDefinitions |
loadOperationDefinitions(DefElement xmlElement,
java.lang.String name)
For internal framework use only.
|
void |
loadXMLContents(DefElement xmlElement,
java.lang.String fullNameFromParent)
For internal framework use only.
|
OperationDefinitionImpl |
removeOperation(java.lang.String id)
For internal framework use only.
|
protected void |
setDefForComponent(ComponentObjectImpl comp)
For internal framework use only.
|
void |
setFullName(java.lang.String fullName)
For internal framework use only.
|
void |
setGlobal(boolean global)
For internal framework use only.
|
boolean |
supportsAnnotation()
Indicates whether ADF can use an expression annotation to select
the expression method for invocation.
|
protected void |
unsetDefForComponent(ComponentObjectImpl comp)
For internal framework use only.
|
void |
writeChildren(DefWriter jos)
For internal framework use only.
|
void |
writeObject(DefWriter jos)
For internal framework use only.
|
ensureVariableManager, finishedLoading, getAdfmConfigStartupProperty, getAllProperties, getBaseDefObject, getBooleanAdfmConfigProperty, getVariableManager, getVarMgrParents, hasVariables, isDeprecated, isFromCustomization, loadProperties, loadVariables, resolvePropertyRaw, resolveReferences, setBaseDefObject, setBaseDefObject, setName, setParent
addDefImport, addExtendedDefObject, addSavedDocName, adjustPropertyMapForWrite, allocatePropertyMap, allocatePropertyMapForEdits, applyDiffContents, beginDiffObjects, checkEditable, checkStructWithOld, close, createFromXML, deregisterDefObject, deregisterSessionObject, diffContents, diffObjects, ensureDifferDetails, findDefImport, getBaseDir, getBasePackage, getDefImports, getDefManager, getDefTypeName, getDefWriter, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getEditVersionsAsString, getExtendedDefObjectsInternal, getFileName, getFullDirName, getFullFileName, getMajorVersion, getMergeableFullName, getMergeableName, getMinorVersion, getOrigObject, getPropertyMap, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isCustomizationEnabled, isCustomizationEnabled, isDirty, isEditable, isFromTip, isLoadBase, isMajorVersionChanged, isMinorVersionChanged, isNew, isPersonalizationEnabled, isPersonalizationEnabled, isPropertyExpression, loadDefImports, loadDefObject, loadXMLContentsNoResolve, lockDefinitionContext, mergeChanges, mergePropertyMap, objectRemoved, reapplyChanges, registerClass, registerDefObject, registerSessionDefObject, registerSiteDefObject, remove, removeAndDelete, removeDefImport, removeExtendedDefObject, removeProperty, saveXMLContents, setCustomizationEnabled, setCustomizationEnabled, setDefaultBaseDir, setDefMgr, setDirty, setEditable, setEditableFlag, setEditableObject, setFullNameInternal, setLoadBase, setMajorVersionChanged, setNew, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setProperty, setPropertyExpression, setPropertyMap, setupDefWriterFromMO, staticUpdateChildrenList, unlockDefinitionContext, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeContents, writeHeaderForNew, writeVersion, writeXMLContents
addPropertySetName, enableUpdateCheck, getAllExtendedDefObjects, getContainerDef, getContainerName, getDefinitionState, getDefScope, getExtendedDefObjects, getMdsKey, getMdsReference, getPropertySetName, getPropertySetNames, getRootBaseDefObject, isBaseDefFor, isComponentDefinition, isDynamicDefinitionObject, isObjectResolved, isSubtypeOf, isSuppressUpdateCheck, loadCustomProperties, loadPropertiesInMap, loadPropertySetNames, loadSchemaProperties, setDefScope, setMdsKey, setMdsReference, setObjectResolved, setPropertySetName, staticLoadCustomProperties, staticLoadSchemaProperties, suppressUpdateCheck
getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyNamesSet, getRawPropertyValue, getResourcesFromBundle, getStringFromMessageBundle, refreshProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, setPropertiesMap, setPropertiesMap2, setProperty
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getProperty
getName
getFullName
@Concealed public static final java.lang.String RESERVED_OFFSETS
@Concealed public static final java.lang.String RESERVED_FLATNAME
@Concealed public static final java.lang.String RESERVED_DISPLAYNAME
@Concealed public OperationDefinitionsImpl(java.lang.String operType)
@Concealed public OperationDefinitionsImpl(java.lang.String operType, java.lang.String fullName)
public static java.lang.String getSignature(java.lang.reflect.Method method)
@Concealed public static OperationDefinitions findOperationDefinitions(ComponentObject componentObject)
@Concealed public static OperationDefinitions findOperationDefinitions(Row componentObject)
@Concealed public static OperationDefinitions loadOperationDefinitions(DefElement xmlElement, java.lang.String name)
public java.lang.String getPath()
ExprDef
ComponentOperationsManager#findExprDef
.public ExprDef.OverrideMode getOverrideMode()
ExprDef
public ExprDef.Visibility getVisibility()
ExprDef
public java.io.Reader getScriptReader()
public java.lang.String getScriptText()
public java.lang.String getFunctionName()
ExprDef
public boolean isResolved()
public ExprEval.TrustMode getTrustMode()
ExprDef
getTrustMode
in interface ExprDef
public boolean hasReturn()
ExprDef
public java.lang.String getExprIdentifier()
ExprDef
getExprIdentifier
in interface ExprDef
public java.lang.Object getCacheKey(java.lang.String exprStr)
ExprDef
getCacheKey
in interface ExprDef
public java.lang.String getScriptClassName(java.lang.String exprStr)
ExprDef
getScriptClassName
in interface ExprDef
public java.lang.String getExpressionClassName()
ExprDef
getExpressionClassName
in interface ExprDef
public ExprEval.TypeCheckedMode getTypeCheckedMode()
ExprDef
getTypeCheckedMode
in interface ExprDef
public boolean isOperationsExpression()
ExprDef
isOperationsExpression
in interface ExprDef
public OwnerType getOwnerType()
ExprDef
getOwnerType
in interface ExprDef
public ExprCodeSource getCodeSource()
ExprDef
public java.lang.String getCodeSourceName()
ExprDef
public java.lang.String getTriggerType()
ExprDef
getTriggerType
in interface ExprDef
public boolean supportsAnnotation()
ExprDef
supportsAnnotation
in interface ExprDef
public java.lang.String getContentType()
ExprDef
@Concealed public java.lang.String[] findParameterNames(java.lang.reflect.Method method)
findParameterNames
in interface OperationDefinitions
@Concealed public java.lang.String[] findParameterNames(java.lang.String signature)
public OperationDefinitions getOperDefValues()
@Concealed public java.util.HashMap<java.lang.String,OperationDefinitionImpl> getOperations()
public java.util.List<OperationDefinitionImpl> getSortedOperations()
protected boolean hasGroovy()
@Concealed public ExprEval getGroovyExpr()
@Concealed public javax.script.CompiledScript getScript()
@Concealed public OperationDefinitionsImpl clone()
clone
in class java.lang.Object
@Concealed public void addOperations(OperationDefinitionsImpl newOpDefs)
@Concealed public OperationDefinitionImpl addOperation(OperationDefinitionImpl opDef)
@Concealed public OperationDefinitionImpl addGroovyOperation(java.lang.String id, java.lang.String name, java.lang.String returnType, java.util.LinkedHashMap<java.lang.String,java.lang.String> params, java.lang.String body)
@Concealed public OperationDefinitionImpl removeOperation(java.lang.String id)
@Concealed public java.lang.String getDefXMLElementTag()
getDefXMLElementTag
in interface PersistentDefinition
getDefXMLElementTag
in class PersistableDefObject
@Concealed public java.lang.String getXMLElementTag()
getXMLElementTag
in interface PersistentDefinition
getXMLElementTag
in class PersistableDefObject
@Concealed public java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace
in interface PersistentDefinition
getDefXMLNameSpace
in class DefObject
@Concealed public void setFullName(java.lang.String fullName)
setFullName
in class PersistableDefObject
fullName
- this object's fully-qualified name;
the package name concatenated with the class name.@Concealed public java.lang.String getOwnerName()
@Concealed public void setGlobal(boolean global)
@Concealed public boolean isGlobal()
@Concealed public void writeObject(DefWriter jos)
writeObject
in interface PersistentDefinition
writeObject
in class PersistableDefObject
jos
- the Output storage for persistencepublic int getDefTypeId()
getDefTypeId
in class DefObject
protected void setDefForComponent(ComponentObjectImpl comp)
setDefForComponent
in class DefObject
protected void unsetDefForComponent(ComponentObjectImpl comp)
unsetDefForComponent
in class DefObject
public ResourceBundleDef getResourceBundleDef()
getResourceBundleDef
in interface VariableManagerOwnerBase
public java.lang.Class getMessageBundleClass()
getMessageBundleClass
in interface VariableManagerOwnerBase
@Concealed public void writeChildren(DefWriter jos)
writeChildren
in interface PersistentDefinition
writeChildren
in class DefObject
jos
- the Output storage for persistence@Concealed public void loadXMLContents(DefElement xmlElement, java.lang.String fullNameFromParent)
loadXMLContents
in class PersistableDefObject
@Concealed public java.lang.String getUniqueID(java.lang.String prefix)
public DifferDetails diffChildren(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeable
difDetails
and
return it at the end.
For example, if this def has Child1 and Child2, its implementation should look something like:
public DifferDetails diffChildren(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails) { difDetails = diffChildrenChild1(docDef, orgDef, difDetails); difDetails = diffChildrenChild1(docDef, orgDef, difDetails); return difDetails; }
where diffChildrenChild1()
uses DifferChildren
's
helper method diffChildrenList
to diff the child defs.
diffChildren
in interface DiffMergeable
diffChildren
in class DefObject
docDef
- the document-level definitionorgDef
- the original definition. It could be
null
if the definition did not exist originallydifDetails
- the DifferDetails
that accumulate
the details of diff from the document-level (top-level) defDifferDetails
that has all the details
of diffpublic void applyDiffChildren(DifferDetails dif, DiffResolver resolver)
DiffMergeable
dif
contains the
changes to be applied to the children. For each child def, this method
should first retrieve the diff details for the child, which is of type
DifferChildren
. Then, it should call
DifferChildren.applyDiffChanges(oracle.jbo.mom.DiffChildrenMerge, oracle.jbo.mom.DiffResolver)
to perform
the change operation.
applyChanges()
requires a
DiffChildrenMerge
object, which has the insert,
update, and remove methods. 'this'
def object must
provide implmementation of these operations.
Here is a sample:
public void applyDiffChildren(DifferDetails dif, DiffResolver resolver) { DifferChangeMap detailMap = dif.getDetailMap(); if (detailMap != null) { DifferChildren difChild1 = (DifferChildren) detailMap.getValue(); if (difVCs != null) { DiffChildrenMerge dm = new DiffChildrenMerge() { public void insertChild(Object id, Object value) { .. perform insert op for Child1 .. } public void updateChild(Object id, Object value, Object oldValue) { .. perform update op for Child1 .. } public void removeChild(Object id) { .. perform remove op for Child1 .. } }; difChild1.applyDiffChanges(dm, resolver); } // Similarly for Child2 } }
applyDiffChildren
in interface DiffMergeable
applyDiffChildren
in class DefObject