public final class OperationDefinitionsImpl extends DefObject implements OperationDefinitions, OperationSupplier
findOperationDefinitions(ComponentObject)PersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationTypeJIT_PACKAGE_NAME, mDebugToSkipEmptyDocForBug24949961, mEditedProperties, mEditedPropertyExprsDEF_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_EXPRMAPmFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX, RESID_SUFFIXFLAG_DIRTY, FLAG_EDITABLE, FLAG_FROM_TIP, FLAG_LOAD_BASE, FLAG_LOAD_HL_DEFS, FLAG_MAJOR_VERSION_CHANGED, FLAG_MINOR_VERSION_CHANGED, FLAG_NEW, FLAG_NEW_RECURSE, FLAG_SKIP_WRITE, XML_STATEMENT| Constructor and Description |
|---|
OperationDefinitionsImpl(int scope,
java.lang.String operType,
java.lang.String fullName)
For internal framework use only.
|
OperationDefinitionsImpl(OperationDefinitionsImpl operDefs) |
OperationDefinitionsImpl(java.lang.String operType)
For internal framework use only.
|
| Modifier and Type | Method and Description |
|---|---|
OperationDefinitionImpl |
addGroovyOperation(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 |
applyDiffChildren(DifferDetails dif,
DiffResolver resolver)
Applies changes to children defs.
|
DifferDetails |
diffChildren(DiffMergeable docDef,
DiffMergeable orgDef,
DifferDetails difDetails)
Performs diff of children defs.
|
static DifferDetails |
diffChildrenOpDefList(DiffMergeable docDef,
DiffMergeable editDef,
DiffMergeable orgDef,
DifferDetails difDetails) |
static OperationDefinitions |
findOperationDefinitions(ComponentObject 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.
|
static OperationDefinitions |
findRowOperationDefinitions(Row componentObject)
For internal framework use only.
|
int |
getDefTypeId() |
java.lang.String |
getDefXMLElementTag()
For internal framework use only.
|
java.lang.String |
getDefXMLNameSpace()
For internal framework use only.
|
java.lang.Class |
getMessageBundleClass() |
OperationDefinitionImpl |
getOperation(int index) |
ExprEval |
getOperationEvaluator(java.lang.String name,
java.lang.Class... types) |
ExprEval |
getOperationEvaluatorWithArgs(java.lang.String name,
java.lang.Object... args) |
java.util.HashMap<java.lang.String,OperationDefinitionImpl> |
getOperations()
For internal framework use only.
|
OperationDefinitions |
getOperDefValues() |
java.lang.String |
getOwnerName()
For internal framework use only.
|
ResourceBundleDef |
getResourceBundleDef() |
static java.lang.String |
getSignature(java.lang.reflect.Method method) |
java.util.List<OperationDefinitionImpl> |
getSortedOperations() |
java.lang.String |
getXMLElementTag()
For internal framework use only.
|
boolean |
hasOperation(java.lang.String methodName) |
static OperationDefinitions |
loadOperationDefinitions(DefElement xmlElement,
java.lang.String name)
For internal framework use only.
|
void |
loadOperations(OperationDefinitionsImpl opDefs) |
void |
loadXMLContents(DefElement xmlElement,
java.lang.String fullNameFromParent)
For internal framework use only.
|
OperationDefinitionImpl |
lookupOperationDefinition(java.lang.String name) |
OperationDefinitionImpl |
lookupOperationDefinitionbySignature(java.lang.String signature) |
void |
personalizeOperations(OperationDefinitionsImpl opDefs) |
OperationDefinitionImpl |
removeOperation(java.lang.String name)
For internal framework use only.
|
void |
resolveDefObject() |
void |
setContentType(java.lang.String contentType) |
protected void |
setDefForComponent(ComponentObjectImpl comp)
For internal framework use only.
|
void |
setFullName(java.lang.String fullName)
For internal framework use only.
|
void |
setParent(NamedObjectImpl parent)
Sets this object's parent.
|
protected void |
unsetDefForComponent(ComponentObjectImpl comp)
For internal framework use only.
|
void |
writeChildren(DefWriter jos)
Writes the Object's children to the Persistent storage
|
void |
writeContents(DefWriter jos)
Objects should write their persistence output in this method
|
void |
writeObject(DefWriter jos)
For internal framework use only.
|
addChildren, callFinishedLoading, ensureVariableManager, finishedLoading, getAdfmConfigStartupProperty, getAllProperties, getBaseDefObject, getBooleanAdfmConfigProperty, getVariableManager, getVarMgrParents, hasVariables, isDeprecated, isFromCustomization, loadProperties, loadVariables, resolvePropertyRaw, resolveReferences, setBaseDefObject, setBaseDefObject, setNameaddDefImport, addExtendedDefObject, addSavedDocName, adjustPropertyMapForWrite, allocatePDef, allocatePropertyMap, allocatePropertyMapForEdits, applyDiffContents, baseIsWriteObject, beginDiffObjects, buildChildName, buildFileName, checkEditable, checkEditableWithDefWriter, checkStructWithOld, close, createEditPDef, createFromXML, deregisterDefObject, deregisterHLDef, deregisterSessionObject, diffChildrenHLDefs, diffChildrenProperties, diffContents, diffObjects, ensureDifferDetails, ensureDifferSkip, extractCustIntoPDef, findDefImport, forgetChanges, getBaseDir, getBasePackage, getChildren, getDefImports, getDefManager, getDefTypeName, getDefWriter, getDifferSkip, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getEditVersionsAsString, getExtendedDefObjectsInternal, getFileName, getFullDirName, getFullFileName, getHLDefMap, getIdentificationAttributeName, getMajorVersion, getMergeableFullName, getMergeableName, getMinorVersion, getOrigObject, getPropertyMap, getPropertyNamesSet, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isAutoMerged, isCreateEditPDef, isCustomizationEnabled, isCustomizationEnabled, isDirty, isEditable, isFromTip, isInheritPolicyStrict, isLoadBase, isLoadHLDefs, isMajorVersionChanged, isMinorVersionChanged, isNew, isNewRecurse, isPersonalizationEnabled, isPersonalizationEnabled, isPropertyExpression, isSaveToJSON, isSkipWrite, isWriteObject, loadDefImports, loadDefObject, loadXMLContentsNoResolve, lockDefinitionContext, lookupHLDef, makeNew, mergeChanges, mergeEditedPropertiesForJSON, mergePropertyMap, objectRemoved, postSaveContents, readJSONObject, reapplyChanges, registerClass, registerDefObject, registerHLDef, registerSessionDefObject, registerSiteDefObject, reloadFromXMLContents, remove, removeAndDelete, removeDefImport, removeExtendedDefObject, removeProperty, saveJSONContents, saveXMLContents, setCustomizationEnabled, setCustomizationEnabled, setDefaultBaseDir, setDefMgr, setDirty, setEditable, setEditableFlag, setEditableObject, setForRuntime, setFullNameInternal, setLoadBase, setLoadHLDefs, setMajorVersionChanged, setNew, setNewRecurse, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setProperty, setPropertyExpression, setPropertyMap, setSkipWrite, setupDefWriterFromMO, setWholeDefDirty, setWholeDefNew, staticUpdateChildrenList, transferDefChangesInto, unlockDefinitionContext, updateChildObject, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeHeaderForNew, writeJSONContents, writeVersion, writeXMLContentsaddPropertySetName, enableUpdateCheck, getAllExtendedDefObjects, getContainerDef, getContainerName, getDefinitionState, getDefScope, getExtendedDefObjects, getMdsKey, getMdsReference, getMdsReferenceName, getPropertySetName, getPropertySetNames, getRootBaseDefObject, isBaseDefFor, isComponentDefinition, isDynamicDefinitionObject, isObjectResolved, isSubtypeOf, isSuppressUpdateCheck, loadCustomProperties, loadPropertiesInMap, loadPropertySetNames, loadSchemaProperties, objectFound, objectInserted, setDefScope, setMdsKey, setMdsReference, setObjectResolved, setPropertySetName, staticLoadCustomProperties, staticLoadSchemaProperties, suppressUpdateCheckgetFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyExprEval, getRawPropertyValue, getResourcesFromBundle, getStringFromMessageBundle, hasProperty, refreshProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, setPropertiesMap, setPropertiesMap2, setProperty, setPropertyExpressionMap, setRawPropertyValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetNamegetFullNamegetProperty, removeProperty, setProperty@Concealed public OperationDefinitionsImpl(java.lang.String operType)
@Concealed
public OperationDefinitionsImpl(int scope,
java.lang.String operType,
java.lang.String fullName)
@Concealed public OperationDefinitionsImpl(OperationDefinitionsImpl operDefs)
public static java.lang.String getSignature(java.lang.reflect.Method method)
@Concealed public static OperationDefinitions findOperationDefinitions(ComponentObject componentObject)
@Concealed public static OperationDefinitions findRowOperationDefinitions(Row componentObject)
public boolean hasOperation(java.lang.String methodName)
hasOperation in interface OperationSupplier@Concealed public static OperationDefinitions loadOperationDefinitions(DefElement xmlElement, java.lang.String name)
@Concealed public void setContentType(java.lang.String contentType)
@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()
@Restricted public java.util.HashMap<java.lang.String,OperationDefinitionImpl> getOperations()
public java.util.List<OperationDefinitionImpl> getSortedOperations()
@Concealed public void loadOperations(OperationDefinitionsImpl opDefs)
@Concealed public void personalizeOperations(OperationDefinitionsImpl opDefs)
@Concealed public OperationDefinitionImpl addOperation(OperationDefinitionImpl opDef)
@Concealed public void setParent(NamedObjectImpl parent)
DefObject@Concealed public void resolveDefObject()
@Concealed public OperationDefinitionImpl addGroovyOperation(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 name)
@Concealed public OperationDefinitionImpl lookupOperationDefinition(java.lang.String name)
public OperationDefinitionImpl lookupOperationDefinitionbySignature(java.lang.String signature)
@Concealed public java.lang.String getDefXMLElementTag()
getDefXMLElementTag in interface PersistentDefinitiongetDefXMLElementTag in class PersistableDefObject@Concealed public java.lang.String getXMLElementTag()
getXMLElementTag in interface PersistentDefinitiongetXMLElementTag in class PersistableDefObject@Concealed public java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace in interface PersistentDefinitiongetDefXMLNameSpace in class DefObject@Concealed public void setFullName(java.lang.String fullName)
setFullName in class PersistableDefObjectfullName - this object's fully-qualified name;
the package name concatenated with the class name.@Concealed public java.lang.String getOwnerName()
@Concealed public void writeObject(DefWriter jos)
writeObject in interface PersistentDefinitionwriteObject in class PersistableDefObjectjos - the Output storage for persistencepublic int getDefTypeId()
getDefTypeId in class DefObjectprotected void setDefForComponent(ComponentObjectImpl comp)
setDefForComponent in class DefObjectprotected void unsetDefForComponent(ComponentObjectImpl comp)
unsetDefForComponent in class DefObjectpublic ResourceBundleDef getResourceBundleDef()
getResourceBundleDef in interface VariableManagerOwnerBasepublic java.lang.Class getMessageBundleClass()
getMessageBundleClass in interface VariableManagerOwnerBasepublic void writeContents(DefWriter jos)
PersistentDefinitionwriteContents in interface PersistentDefinitionwriteContents in class PersistableDefObjectjos - the Output storage for persistencepublic void writeChildren(DefWriter jos)
PersistentDefinitionwriteChildren in interface PersistentDefinitionwriteChildren in class DefObjectjos - the Output storage for persistence@Concealed public void loadXMLContents(DefElement xmlElement, java.lang.String fullNameFromParent)
loadXMLContents in class PersistableDefObjectpublic static DifferDetails diffChildrenOpDefList(DiffMergeable docDef, DiffMergeable editDef, DiffMergeable orgDef, DifferDetails difDetails)
public DifferDetails diffChildren(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeabledifDetails 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 DiffMergeablediffChildren in class DefObjectdocDef - 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)
DiffMergeabledif 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(<XML-tag-for-Child1>);
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 DiffMergeableapplyDiffChildren in class DefObject@Concealed public OperationDefinitionImpl getOperation(int index)
public ExprEval getOperationEvaluator(java.lang.String name, java.lang.Class... types)
getOperationEvaluator in interface OperationSupplierpublic ExprEval getOperationEvaluatorWithArgs(java.lang.String name, java.lang.Object... args)
getOperationEvaluatorWithArgs in interface OperationSupplier