@Concealed public abstract class DefObject extends PersistableDefObject implements VariableManagerOwner
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| Modifier | Constructor and Description | 
|---|---|
protected  | 
DefObject(DefinitionManager defMgr,
         int defScope)  | 
| Modifier and Type | Method and Description | 
|---|---|
java.util.Map | 
addChildren(java.util.Map m,
           boolean recurse,
           java.lang.Class cls)  | 
void | 
applyDiffChildren(DifferDetails dif,
                 DiffResolver resolver)
Applies changes to children defs. 
 | 
protected void | 
callFinishedLoading()  | 
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, 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, getDefXMLElementTag, getDifferSkip, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getEditVersionsAsString, getExtendedDefObjectsInternal, getFileName, getFullDirName, getFullFileName, getHLDefMap, getIdentificationAttributeName, getMajorVersion, getMergeableFullName, getMergeableName, getMinorVersion, getOrigObject, getPropertyMap, getPropertyNamesSet, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, getXMLElementTag, 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, loadXMLContents, 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, setFullName, setFullNameInternal, setLoadBase, setLoadHLDefs, setMajorVersionChanged, setNew, setNewRecurse, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setProperty, setPropertyExpression, setPropertyMap, setSkipWrite, setupDefWriterFromMO, setWholeDefDirty, setWholeDefNew, staticUpdateChildrenList, transferDefChangesInto, unlockDefinitionContext, updateChildObject, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeContents, writeHeaderForNew, writeJSONContents, writeObject, 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, waitgetNamegetMessageBundleClass, getResourceBundleDefgetFullNamegetProperty, removeProperty, setPropertyprotected DefObject(DefinitionManager defMgr, int defScope)
@Restricted public void setName(java.lang.String name)
setName in class DefinitionObjectname - the name to be given to this object.@Restricted public DefinitionObject getBaseDefObject()
getBaseDefObject in class DefinitionObjectpublic void setBaseDefObject(DefinitionObject baseDefObject)
setBaseDefObject in class DefinitionObject@Restricted public void setBaseDefObject(DefinitionObject baseDefObject, boolean addToBaseDef)
setBaseDefObject in class DefinitionObjectprotected void resolveReferences()
resolveReferences in class DefinitionObject@Restricted protected void finishedLoading()
finishedLoading in class PersistableDefObject@Restricted protected void callFinishedLoading()
callFinishedLoading in class PersistableDefObjectprotected void setParent(NamedObjectImpl parent)
setParent in class DefinitionObjectparent - 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@Restricted protected void loadProperties(DefElement xmlElement)
loadProperties in class DefinitionObjectxmlElement - The XML element to load from.protected void loadVariables(DefElement xmlElement)
public void writeChildren(DefWriter jos)
PersistentDefinitionwriteChildren in interface PersistentDefinitionwriteChildren in class PersistableDefObjectjos - the Output storage for persistencepublic java.util.Map addChildren(java.util.Map m,
                                 boolean recurse,
                                 java.lang.Class cls)
addChildren in class PersistableDefObjectpublic 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 PersistableDefObjectpublic abstract int getDefTypeId()
protected abstract void setDefForComponent(ComponentObjectImpl comp)
protected abstract void unsetDefForComponent(ComponentObjectImpl comp)
@Restricted public VariableValueManager getVariableManager()
VariableManagerOwnerBasenull 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 VariableManagerOwnerBasenull if one was not yet initialized.protected VariableValueManager[] getVarMgrParents()
public boolean hasVariables()
VariableManagerOwnerBasehasVariables in interface VariableManagerOwnerBase@Restricted public VariableValueManager ensureVariableManager()
VariableManagerOwnerBaseensureVariableManager in interface VariableManagerOwnerBasepublic java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace in interface PersistentDefinitiongetDefXMLNameSpace in class PersistableDefObjectprotected java.lang.Object resolvePropertyRaw(java.lang.String property,
                                              LocaleContext locale)
resolvePropertyRaw in class NamedObjectImplpublic java.util.HashMap getAllProperties(java.util.HashMap map,
                                          LocaleContext locale)
getAllProperties in class NamedObjectImplprotected boolean getBooleanAdfmConfigProperty(java.lang.String propertyName,
                                               boolean defaultValue)
protected java.lang.Object getAdfmConfigStartupProperty(java.lang.String propertyName,
                                                        java.lang.String defaultValue)