@Concealed public class PDefComponentOperations extends PersDefBase
PersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationType
APPLY_PERS_DEFAULT, APPLY_PERS_PROPS, APPLY_PERS_QUERY, APPLY_PERS_STRUCT, mUserPDefLogger
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
XML_STATEMENT
Constructor and Description |
---|
PDefComponentOperations()
For internal framework use only.
|
Modifier and Type | Method and Description |
---|---|
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 ComponentOperations |
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() |
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
|
void |
loadXMLContents(DefElement xmlElement,
java.lang.String fullName) |
void |
personalize(ComponentOperations operDef) |
void |
resolveDefObject() |
protected void |
setDefForComponent(ComponentObjectImpl comp) |
void |
setFullName(java.lang.String fullName)
Give this object a fully-qualified name.
|
void |
setScriptOps(OperationDefinitionsImpl ops)
Deprecated.
use addScriptOp instead
|
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, getBasePackage, getFileName, getStaticDef, getStaticDefWithCheck, getTrimmedFullName, getTrimmedFullNameForDef, hasStaticDefElem, isAuditEnabled, isAuditEnabled, isDeprecated, loadSubclassXMLContents, loadXMLContents, mergePropertyMap, raiseCustomAuditEvent, registerDefObject, registerSessionDefObject, removeProperty, saveXMLContents, setDefinitionState, setFullName, setProperty, setPropertyExpression, setPropertyMap, setStaticDef, setStaticDefPublic
addDefImport, addExtendedDefObject, addSavedDocName, adjustPropertyMapForWrite, allocatePropertyMap, allocatePropertyMapForEdits, applyDiffContents, beginDiffObjects, checkEditable, checkStructWithOld, close, createFromXML, deregisterSessionObject, diffContents, diffObjects, ensureDifferDetails, findDefImport, finishedLoading, getBaseDir, getDefImports, getDefManager, getDefTypeName, getDefWriter, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getEditVersionsAsString, getExtendedDefObjectsInternal, getFullDirName, getFullFileName, getMajorVersion, getMergeableFullName, getMergeableName, getMinorVersion, getOrigObject, getPropertyMap, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isCustomizationEnabled, isCustomizationEnabled, isEditable, isFromTip, isLoadBase, isMajorVersionChanged, isMinorVersionChanged, isNew, isPersonalizationEnabled, isPersonalizationEnabled, isPropertyExpression, loadDefImports, loadDefObject, loadXMLContentsNoResolve, lockDefinitionContext, mergeChanges, objectRemoved, reapplyChanges, registerClass, registerSiteDefObject, remove, removeAndDelete, removeDefImport, removeExtendedDefObject, setCustomizationEnabled, setCustomizationEnabled, setDefaultBaseDir, setDefMgr, setDirty, setEditable, setEditableFlag, setEditableObject, setFullNameInternal, setLoadBase, setMajorVersionChanged, setNew, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setupDefWriterFromMO, staticUpdateChildrenList, unlockDefinitionContext, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeHeaderForNew, writeObject, writeVersion, writeXMLContents
addPropertySetName, enableUpdateCheck, getAllExtendedDefObjects, getBaseDefObject, getContainerDef, getContainerName, getDefinitionState, getDefScope, getExtendedDefObjects, getMdsKey, getMdsReference, getPropertySetName, getPropertySetNames, getRootBaseDefObject, isBaseDefFor, isComponentDefinition, isDynamicDefinitionObject, isObjectResolved, isSubtypeOf, isSuppressUpdateCheck, loadCustomProperties, loadProperties, loadPropertiesInMap, loadPropertySetNames, loadSchemaProperties, resolveReferences, setBaseDefObject, setBaseDefObject, setDefScope, setMdsKey, setMdsReference, setName, setObjectResolved, setParent, setPropertySetName, staticLoadCustomProperties, staticLoadSchemaProperties, suppressUpdateCheck
getAllProperties, getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionDef, getPropertyExpressionsMap, getPropertyNamesSet, getRawPropertyValue, getResourcesFromBundle, getStringFromMessageBundle, refreshProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, resolvePropertyRaw, setPropertiesMap, setPropertiesMap2, setProperty
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFullName
@Concealed public PDefComponentOperations()
public void setFullName(java.lang.String fullName)
NamedObjectImpl
setFullName
in class PersDefBase
fullName
- this object's fully-qualified name;
the package name concatenated with the class name.public DefinitionObject findStaticDefinitionObject(java.lang.String fullName)
findStaticDefinitionObject
in interface PersonalizableDef
findStaticDefinitionObject
in class PersDefBase
public boolean isDirty()
DefPersistable
isDirty
in interface DefPersistable
isDirty
in class PersistableDefObject
@Concealed public void setScriptOps(OperationDefinitionsImpl ops)
@Concealed public OperationDefinitionsImpl getScriptOps()
public java.lang.String getDefXMLElementTag()
getDefXMLElementTag
in interface PersistentDefinition
getDefXMLElementTag
in class PersistableDefObject
public java.lang.String getXMLElementTag()
PersistentDefinition
getXMLElementTag
in interface PersistentDefinition
getXMLElementTag
in class PersistableDefObject
public void writeContents(DefWriter jos)
PersistentDefinition
writeContents
in interface PersistentDefinition
writeContents
in class PersDefBase
jos
- the Output storage for persistencepublic void writeChildren(DefWriter jos)
PersistentDefinition
writeChildren
in interface PersistentDefinition
writeChildren
in class PersistableDefObject
jos
- the Output storage for persistencepublic void resolveDefObject()
resolveDefObject
in interface PersonalizableDef
resolveDefObject
in class PersDefBase
@Concealed public int getDefTypeId()
@Concealed protected void setDefForComponent(ComponentObjectImpl comp)
@Concealed protected void unsetDefForComponent(ComponentObjectImpl comp)
@Concealed public static ComponentOperations findDefObject(java.lang.String name)
public void loadXMLContents(DefElement xmlElement, java.lang.String fullName)
loadXMLContents
in class PersDefBase
public java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace
in interface PersistentDefinition
getDefXMLNameSpace
in class PersistableDefObject
@Concealed public void applyPersonalization(int mode, java.lang.Object inst)
applyPersonalization
in interface PersonalizableDef
applyPersonalization
in class PersDefBase
@Concealed public void personalize(ComponentOperations operDef)
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 PersistableDefObject
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 PersistableDefObject