@Concealed public abstract class DefObject extends PersistableDefObject implements VariableManagerOwner
PersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationType
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
Modifier | Constructor and Description |
---|---|
protected |
DefObject(DefinitionManager defMgr,
int defScope) |
Modifier and Type | Method and Description |
---|---|
void |
applyDiffChildren(DifferDetails dif,
DiffResolver resolver)
Applies changes to children defs.
|
DifferDetails |
diffChildren(DiffMergeable docDef,
DiffMergeable orgDef,
DifferDetails difDetails)
Performs diff of children defs.
|
VariableValueManager |
ensureVariableManager()
Returns this object's Variable Value Manager.
|
protected void |
finishedLoading() |
protected java.lang.Object |
getAdfmConfigStartupProperty(java.lang.String propertyName,
java.lang.String defaultValue) |
java.util.HashMap |
getAllProperties(java.util.HashMap map,
LocaleContext locale) |
DefinitionObject |
getBaseDefObject() |
protected boolean |
getBooleanAdfmConfigProperty(java.lang.String propertyName,
boolean defaultValue) |
abstract int |
getDefTypeId() |
java.lang.String |
getDefXMLNameSpace() |
VariableValueManager |
getVariableManager()
Returns this object's current Variable Value Manager.
|
protected VariableValueManager[] |
getVarMgrParents() |
boolean |
hasVariables()
Returns a flag indicating whether this object has
Variables or not.
|
boolean |
isDeprecated(LocaleContext locale)
For internal framework use only.
|
boolean |
isFromCustomization() |
protected void |
loadProperties(DefElement xmlElement) |
protected void |
loadVariables(DefElement xmlElement) |
protected java.lang.Object |
resolvePropertyRaw(java.lang.String property,
LocaleContext locale) |
protected void |
resolveReferences() |
void |
setBaseDefObject(DefinitionObject baseDefObject) |
void |
setBaseDefObject(DefinitionObject baseDefObject,
boolean addToBaseDef) |
protected abstract void |
setDefForComponent(ComponentObjectImpl comp) |
void |
setName(java.lang.String name)
Name this object.
|
protected void |
setParent(NamedObjectImpl parent)
Sets this object's parent.
|
protected abstract void |
unsetDefForComponent(ComponentObjectImpl comp) |
void |
writeChildren(DefWriter jos)
Writes the Object's children to the Persistent storage
|
addDefImport, addExtendedDefObject, addSavedDocName, adjustPropertyMapForWrite, allocatePropertyMap, allocatePropertyMapForEdits, applyDiffContents, beginDiffObjects, checkEditable, checkStructWithOld, close, createFromXML, deregisterDefObject, deregisterSessionObject, diffContents, diffObjects, ensureDifferDetails, findDefImport, getBaseDir, getBasePackage, getDefImports, getDefManager, getDefTypeName, getDefWriter, getDefXMLElementTag, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getEditVersionsAsString, getExtendedDefObjectsInternal, getFileName, getFullDirName, getFullFileName, getMajorVersion, getMergeableFullName, getMergeableName, getMinorVersion, getOrigObject, getPropertyMap, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, getXMLElementTag, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isCustomizationEnabled, isCustomizationEnabled, isDirty, isEditable, isFromTip, isLoadBase, isMajorVersionChanged, isMinorVersionChanged, isNew, isPersonalizationEnabled, isPersonalizationEnabled, isPropertyExpression, loadDefImports, loadDefObject, loadXMLContents, loadXMLContentsNoResolve, lockDefinitionContext, mergeChanges, mergePropertyMap, objectRemoved, reapplyChanges, registerClass, registerDefObject, registerSessionDefObject, registerSiteDefObject, remove, removeAndDelete, removeDefImport, removeExtendedDefObject, removeProperty, saveXMLContents, setCustomizationEnabled, setCustomizationEnabled, setDefaultBaseDir, setDefMgr, setDirty, setEditable, setEditableFlag, setEditableObject, setFullName, setFullNameInternal, setLoadBase, setMajorVersionChanged, setNew, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setProperty, setPropertyExpression, setPropertyMap, setupDefWriterFromMO, staticUpdateChildrenList, unlockDefinitionContext, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeContents, writeHeaderForNew, writeObject, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
getMessageBundleClass, getResourceBundleDef
getFullName
protected DefObject(DefinitionManager defMgr, int defScope)
@Concealed public void setName(java.lang.String name)
setName
in class DefinitionObject
name
- the name to be given to this object.public DefinitionObject getBaseDefObject()
getBaseDefObject
in class DefinitionObject
public void setBaseDefObject(DefinitionObject baseDefObject)
setBaseDefObject
in class DefinitionObject
public void setBaseDefObject(DefinitionObject baseDefObject, boolean addToBaseDef)
setBaseDefObject
in class DefinitionObject
protected void resolveReferences()
resolveReferences
in class DefinitionObject
protected void finishedLoading()
finishedLoading
in class PersistableDefObject
protected void setParent(NamedObjectImpl parent)
setParent
in class DefinitionObject
parent
- the named object that is to be the parent of this object.public boolean isFromCustomization()
@Concealed public boolean isDeprecated(LocaleContext locale)
isDeprecated
in class DefinitionObject
protected void loadProperties(DefElement xmlElement)
loadProperties
in class DefinitionObject
xmlElement
- The XML element to load from.protected void loadVariables(DefElement xmlElement)
public void writeChildren(DefWriter jos)
PersistentDefinition
writeChildren
in interface PersistentDefinition
writeChildren
in class PersistableDefObject
jos
- the Output storage for persistencepublic 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
public abstract int getDefTypeId()
protected abstract void setDefForComponent(ComponentObjectImpl comp)
protected abstract void unsetDefForComponent(ComponentObjectImpl comp)
public VariableValueManager getVariableManager()
VariableManagerOwnerBase
null
if Variable Value Manager has
been initialized.
When a framework object is first created, its Variable Value Manager may be null. This method does not initialize (create) the Variable Value Manager.
in contrast, ensures
that the Variable Value Manager is initialized (created).VariableManagerOwnerBase.ensureVariableManager()
getVariableManager
in interface VariableManagerOwnerBase
null
if one was not yet initialized.protected VariableValueManager[] getVarMgrParents()
public boolean hasVariables()
VariableManagerOwnerBase
hasVariables
in interface VariableManagerOwnerBase
public VariableValueManager ensureVariableManager()
VariableManagerOwnerBase
ensureVariableManager
in interface VariableManagerOwnerBase
public java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace
in interface PersistentDefinition
getDefXMLNameSpace
in class PersistableDefObject
protected java.lang.Object resolvePropertyRaw(java.lang.String property, LocaleContext locale)
resolvePropertyRaw
in class NamedObjectImpl
public java.util.HashMap getAllProperties(java.util.HashMap map, LocaleContext locale)
getAllProperties
in class NamedObjectImpl
protected boolean getBooleanAdfmConfigProperty(java.lang.String propertyName, boolean defaultValue)
protected java.lang.Object getAdfmConfigStartupProperty(java.lang.String propertyName, java.lang.String defaultValue)