@Concealed public class PDefComponentOperations extends PersDefBase
PersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationTypeAPPLY_PERS_DB, APPLY_PERS_DEFAULT, APPLY_PERS_EVENTS, APPLY_PERS_PROPS, APPLY_PERS_QUERY, APPLY_PERS_STRUCT, APPLY_PERS_TO_BASE_DEF, APPLY_PERS_VALS, mUserPDefLoggerJIT_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 | 
|---|
PDefComponentOperations()
For internal framework use only. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addScriptOp(OperationDefinitionImpl opDef)  | 
void | 
applyDiffChildren(DifferDetails dif,
                 DiffResolver resolver)
Applies changes to children defs. 
 | 
void | 
applyPersonalization(int mode,
                    java.lang.Object inst)
For internal framework use only. 
 | 
DifferDetails | 
diffChildren(DiffMergeable docDef,
            DiffMergeable orgDef,
            DifferDetails difDetails)
Performs diff of children defs. 
 | 
static PDefComponentOperations | 
findDefObject(java.lang.String name)  | 
DefinitionObject | 
findStaticDefinitionObject(java.lang.String fullName)
Deprecated.   
 | 
int | 
getDefTypeId()  | 
java.lang.String | 
getDefXMLElementTag()
Deprecated.   
 | 
java.lang.String | 
getDefXMLNameSpace()  | 
OperationDefinitionsImpl | 
getScriptOps()  | 
OperationDefinitionsImpl | 
getScriptRowOps()  | 
java.lang.String | 
getXMLElementTag()
Returns a piece of static info for the type of object this is invoked
 upon. 
 | 
boolean | 
isDirty()
This method returns if an Object is modified from last save/load 
 | 
boolean | 
isObjectResolved()  | 
void | 
loadXMLContents(DefElement xmlElement,
               java.lang.String fullName)  | 
void | 
personalize(ComponentOperations compOps)  | 
OperationDefinitionImpl | 
removeScriptOp(java.lang.String name)  | 
void | 
resolveDefObject()  | 
protected void | 
setDefForComponent(ComponentObjectImpl comp)  | 
void | 
setEditable(boolean editable)  | 
void | 
setFullName(java.lang.String fullName)
Give this object a fully-qualified name. 
 | 
void | 
setGlobal(boolean isGlobal)  | 
void | 
setOwnerName(java.lang.String name)  | 
protected void | 
unsetDefForComponent(ComponentObjectImpl comp)  | 
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 
 | 
applyPersonalization, applyPropertiesPersonalization, deregisterDefObject, deregisterSessionObject, getBasePackage, getFileName, getStaticDef, getStaticDefWithCheck, getTrimmedFullName, getTrimmedFullNameForDef, hasStaticDefElem, isAuditEnabled, isAuditEnabled, isAutoMerged, isDeprecated, loadSubclassXMLContents, loadXMLContents, mergePropertyMap, raiseCustomAuditEvent, registerDefObject, registerSessionDefObject, removeProperty, saveXMLContents, setDefinitionState, setFullName, setProperty, setPropertyExpression, setPropertyMap, setStaticDef, setStaticDefPublicaddChildren, addDefImport, addExtendedDefObject, addSavedDocName, adjustPropertyMapForWrite, allocatePDef, allocatePropertyMap, allocatePropertyMapForEdits, applyDiffContents, baseIsWriteObject, beginDiffObjects, buildChildName, buildFileName, callFinishedLoading, checkEditable, checkEditableWithDefWriter, checkStructWithOld, close, createEditPDef, createFromXML, deregisterHLDef, diffChildrenHLDefs, diffChildrenProperties, diffContents, diffObjects, ensureDifferDetails, ensureDifferSkip, extractCustIntoPDef, findDefImport, finishedLoading, forgetChanges, getBaseDir, getChildren, getDefImports, getDefManager, getDefTypeName, getDefWriter, getDifferSkip, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getEditVersionsAsString, getExtendedDefObjectsInternal, getFullDirName, getFullFileName, getHLDefMap, getIdentificationAttributeName, getMajorVersion, getMergeableFullName, getMergeableName, getMinorVersion, getOrigObject, getPropertyMap, getPropertyNamesSet, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isCreateEditPDef, isCustomizationEnabled, isCustomizationEnabled, isEditable, isFromTip, isInheritPolicyStrict, isLoadBase, isLoadHLDefs, isMajorVersionChanged, isMinorVersionChanged, isNew, isNewRecurse, isPersonalizationEnabled, isPersonalizationEnabled, isPropertyExpression, isSaveToJSON, isSkipWrite, isWriteObject, loadDefImports, loadDefObject, loadXMLContentsNoResolve, lockDefinitionContext, lookupHLDef, makeNew, mergeChanges, mergeEditedPropertiesForJSON, objectRemoved, postSaveContents, readJSONObject, reapplyChanges, registerClass, registerHLDef, registerSiteDefObject, reloadFromXMLContents, remove, removeAndDelete, removeDefImport, removeExtendedDefObject, saveJSONContents, setCustomizationEnabled, setCustomizationEnabled, setDefaultBaseDir, setDefMgr, setDirty, setEditableFlag, setEditableObject, setForRuntime, setFullNameInternal, setLoadBase, setLoadHLDefs, setMajorVersionChanged, setNew, setNewRecurse, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setSkipWrite, setupDefWriterFromMO, setWholeDefDirty, setWholeDefNew, staticUpdateChildrenList, transferDefChangesInto, unlockDefinitionContext, updateChildObject, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeHeaderForNew, writeJSONContents, writeObject, writeVersion, writeXMLContentsaddPropertySetName, enableUpdateCheck, getAllExtendedDefObjects, getBaseDefObject, getContainerDef, getContainerName, getDefinitionState, getDefScope, getExtendedDefObjects, getMdsKey, getMdsReference, getMdsReferenceName, getPropertySetName, getPropertySetNames, getRootBaseDefObject, isBaseDefFor, isComponentDefinition, isDynamicDefinitionObject, isSubtypeOf, isSuppressUpdateCheck, loadCustomProperties, loadProperties, loadPropertiesInMap, loadPropertySetNames, loadSchemaProperties, objectFound, objectInserted, resolveReferences, setBaseDefObject, setBaseDefObject, setDefScope, setMdsKey, setMdsReference, setName, setObjectResolved, setParent, setPropertySetName, staticLoadCustomProperties, staticLoadSchemaProperties, suppressUpdateCheckgetAllProperties, getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyExprEval, getRawPropertyValue, getResourcesFromBundle, getStringFromMessageBundle, hasProperty, refreshProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, resolvePropertyRaw, setPropertiesMap, setPropertiesMap2, setProperty, setPropertyExpressionMap, setRawPropertyValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFullNamegetProperty, removeProperty, setProperty@Concealed public PDefComponentOperations()
public void setFullName(java.lang.String fullName)
NamedObjectImplsetFullName in class PersDefBasefullName - this object's fully-qualified name;
 the package name concatenated with the class name.public DefinitionObject findStaticDefinitionObject(java.lang.String fullName)
findStaticDefinitionObject in interface PersonalizableDeffindStaticDefinitionObject in class PersDefBasepublic boolean isDirty()
DefPersistableisDirty in interface DefPersistableisDirty in class PersistableDefObject@Concealed public OperationDefinitionsImpl getScriptOps()
@Concealed public OperationDefinitionImpl removeScriptOp(java.lang.String name)
@Concealed public void addScriptOp(OperationDefinitionImpl opDef)
@Concealed public OperationDefinitionsImpl getScriptRowOps()
public java.lang.String getDefXMLElementTag()
getDefXMLElementTag in interface PersistentDefinitiongetDefXMLElementTag in class PersistableDefObjectpublic java.lang.String getXMLElementTag()
PersistentDefinitiongetXMLElementTag in interface PersistentDefinitiongetXMLElementTag in class PersistableDefObjectpublic void writeContents(DefWriter jos)
PersistentDefinitionwriteContents in interface PersistentDefinitionwriteContents in class PersDefBasejos - the Output storage for persistencepublic void writeChildren(DefWriter jos)
PersistentDefinitionwriteChildren in interface PersistentDefinitionwriteChildren in class PersistableDefObjectjos - the Output storage for persistencepublic void resolveDefObject()
resolveDefObject in interface PersonalizableDefresolveDefObject in class PersDefBase@Concealed public boolean isObjectResolved()
isObjectResolved in class DefinitionObject@Concealed public int getDefTypeId()
@Concealed protected void setDefForComponent(ComponentObjectImpl comp)
@Concealed protected void unsetDefForComponent(ComponentObjectImpl comp)
@Concealed public static PDefComponentOperations findDefObject(java.lang.String name)
public void loadXMLContents(DefElement xmlElement, java.lang.String fullName)
loadXMLContents in class PersDefBasepublic java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace in interface PersistentDefinitiongetDefXMLNameSpace in class PersistableDefObject@Concealed public void setOwnerName(java.lang.String name)
@Concealed public void setGlobal(boolean isGlobal)
public void setEditable(boolean editable)
setEditable in class PersistableDefObject@Concealed
public void applyPersonalization(int mode,
                                            java.lang.Object inst)
applyPersonalization in interface PersonalizableDefapplyPersonalization in class PersDefBase@Concealed public void personalize(ComponentOperations compOps)
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 PersistableDefObjectdocDef - 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 PersistableDefObject