public class ViewLinkDefImpl extends AssociationDefBase
 NAME
      ViewLinkDefImpl.java -
 DESCRIPTION
      The ViewLinkDefImpl describes relationship between two query objects.
 NOTES
 VERSION
 MODIFIED   (MM/DD/YY)
    jloropez 06/08/04 -
 AssociationDefBase.IntersectExpandEndPersistableDefObject.CustomizationType, PersistableDefObject.PersonalizationType| Modifier and Type | Field and Description | 
|---|---|
protected oracle.jbo.server.EntityAssociationReference | 
mAssocRef  | 
static int | 
SI_EntityAssociation  | 
static int | 
SI_EntityAssociationReversed  | 
static int | 
SI_SDOHidden  | 
static int | 
SMAX_ViewLinkDefImpl  | 
SI_Where, SI_WhereReverse, SMAX_AssociationDefBaseINHERIT_POLICY_DEFAULT, INHERIT_POLICY_LEGACY, INHERIT_POLICY_STRICT, mComponentClass, mDebug_checkDef_throw, PERSMERGED_BASE_PACKAGE, PUBLISH_TO_BUSINESS_EDITOR_DEFAULT, PUBLISH_TO_BUSINESS_EDITOR_FALSE, PUBLISH_TO_BUSINESS_EDITOR_TRUE, SI_CustIntoStaticDef, SI_InheritPersonalization, SI_InheritPolicy, SI_MessageBundleClass, SI_ResourceBundleDef, SMAX_MetaObjectJIT_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 | 
|---|
ViewLinkDefImpl()
Constructs a query association 
 | 
ViewLinkDefImpl(int defScope,
               java.lang.String name)  | 
ViewLinkDefImpl(java.lang.String name)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
applyDiffContents(DifferDetails dif,
                 DiffResolver resolver)
When diff/merge operation is requested, we have the following
 three def objects: 
 | 
void | 
buildLinkEnds(ViewDefImpl source,
             java.lang.String srcName,
             int srcCardinality,
             boolean isSrcPartitionUsingWhereClause,
             AttributeDefImpl[] srcAttrs,
             java.lang.String[] srcUnboundAttrNames,
             ViewDefImpl destination,
             java.lang.String destName,
             int destCardinality,
             boolean isDestPartitionUsingWhereClause,
             AttributeDefImpl[] destAttrs,
             java.lang.String[] destUnboundAttrNames,
             java.lang.Object entityAssocObj,
             java.lang.String assocClause,
             java.lang.String reverseAssocClause)
Internal use only. 
 | 
DifferDetails | 
diffContents(DiffMergeable docDef,
            DiffMergeable orgDef,
            DifferDetails difDetails)
Performs diff of scalar values. 
 | 
static ViewLinkDefImpl | 
findDefObject(java.lang.String viewLinkDefName)
Finds the ViewLinkDefImpl from the statically maintained list of Meta Objects. 
 | 
static ViewLinkDefImpl | 
findDefObject(java.lang.String viewLinkDefName,
             boolean throwException)
Finds the ViewLinkDefImpl from the statically maintained list of Meta Objects. 
 | 
static ViewLinkDefImpl | 
findDefObjectNoSub(java.lang.String viewLinkDefName)
Finds the ViewLinkDefImpl from the statically maintained list of Meta Objects. 
 | 
static java.lang.String[] | 
getAllDefNames()  | 
java.lang.String | 
getBaseAssociationName()  | 
int | 
getBindingStyle()  | 
java.lang.Class | 
getComponentClass()
Gets the Java  
Class of the component that this definition
 object describes, i.e., oracle.jbo.server.ViewLinkImpl. | 
int | 
getDefTypeId()  | 
java.lang.String | 
getDefXMLElementTag()  | 
ViewAttributeDefImpl[] | 
getDestinationBindVariables()  | 
AssociationEnd | 
getDestinationEntityAssocEnd()  | 
java.lang.String | 
getEndDefXMLElementTag()  | 
EntityAssociation | 
getEntityAssociation()  | 
oracle.jbo.server.EntityAssociationReference | 
getEntityAssociationReference()  | 
protected AttributeDefImpl[] | 
getIntersectAttributeDefImpls(java.lang.String intObjName,
                             java.util.ArrayList attrNames)  | 
protected int | 
getScalarDirtyCount()
Returns the number of scalar value attributes in this def object. 
 | 
AssociationEnd | 
getSourceEntityAssocEnd()  | 
boolean | 
isEntityAssociationReversed()  | 
boolean | 
isPartitionUsingWhereClause(boolean isReversed)  | 
boolean | 
isSDOHidden()  | 
static ViewLinkDefImpl | 
loadFromXML(DefElement xmlElement)
Deprecated.  
 | 
void | 
loadXMLContents(DefElement xmlElement,
               java.lang.String fullName)  | 
protected ViewLinkImpl | 
newComponentClassInstance()  | 
protected void | 
resolveReferences()  | 
void | 
setBaseAssociationName(java.lang.String assocName)  | 
protected void | 
setDefForComponent(ComponentObjectImpl comp)  | 
void | 
setDestinationBindVariables(ViewAttributeDefImpl[] vars)  | 
void | 
setEntityAssociationReference(oracle.jbo.server.EntityAssociationReference assocRef)  | 
void | 
setEntityAssociationReversed(boolean b)  | 
void | 
setSDOHidden(boolean b)  | 
protected void | 
unsetDefForComponent(ComponentObjectImpl comp)  | 
void | 
writeContents(DefWriter jos)
Objects should write their persistence output in this method 
 | 
applyDiffChildren, diffChildren, findEndAccessorByName, findEndByName, getAccessors, getAssociationClause, getAttributeDefImpls, getAttributeDefImplsByEndName, getDefs, getDestinationEnd, getDestinationOwner, getEditObject, getOtherAttributeDefImpls, getReverseAssociationClause, getSourceEnd, getSourceOwner, isIntersectExpand, resolveDefObject, setAssociationClause, setDirty, setIntersectExpand, setReverseAssociationClause, writeChildrenadjustPropertyMapForWrite, checkEditable, createDefCustomizer, deregisterSessionObject, doneLoadingInternal, extractCustIntoPDef, getDefCustomizerFullFileName, getDefCustomizerFullName, getDefCustomizerName, getEditVersionsAsString, getInheritPersonalizationStrValue, getInheritPersonalizationValue, getInheritPolicyStrValue, getInheritPolicyValue, getMajorVersion, getMessageBundleClass, getMinorVersion, getMsgBundleDef, getPackageDef, getPackageName, getPersDef, getPersDefForEdit, getPersDefNoUpdateCheck, getPersMergedDef, getPublishToBusinessEditorValue, getResourceBundleDef, getResourcePrefix, getStaticBaseDefObject, getStaticDef, isAutoMerged, isConvertPDef, isCreateEditPDef, isCustIntoStaticDef, isDefCustomizer, isDefNewBase, isDynamic, isEditable, isInheritPersonalization, isInheritPolicyLegacy, isInheritPolicyStrict, isPublishToBusinessEditor, isScalarDirty, loadDefVersions, loadResourceBundle, lookupDefCustomizer, lookupPublishedDefCustomizer, objectFound, objectRemoved, registerDefObject, registerSessionDefObject, resetDefResolved, saveXMLContents, setCustIntoStaticDef, setDefCustomizer, setDefScope, setEditable, setFullName, setInheritPersonalization, setInheritPersonalizationStrValue, setInheritPolicyStrValue, setMessageBundleClass, setPublishToBusinessEditor, setPublishToBusinessEditorValue, setResourceBundleDef, setScalarDirty, setupDefWriterFromMO, writeXMLContentsaddChildren, callFinishedLoading, ensureVariableManager, finishedLoading, getAdfmConfigStartupProperty, getAllProperties, getBaseDefObject, getBooleanAdfmConfigProperty, getDefXMLNameSpace, getVariableManager, getVarMgrParents, hasVariables, isDeprecated, isFromCustomization, loadProperties, loadVariables, resolvePropertyRaw, setBaseDefObject, setBaseDefObject, setName, setParentaddDefImport, addExtendedDefObject, addSavedDocName, allocatePDef, allocatePropertyMap, allocatePropertyMapForEdits, baseIsWriteObject, beginDiffObjects, buildChildName, buildFileName, checkEditableWithDefWriter, checkStructWithOld, close, createEditPDef, createFromXML, deregisterDefObject, deregisterHLDef, diffChildrenHLDefs, diffChildrenProperties, diffObjects, ensureDifferDetails, ensureDifferSkip, findDefImport, forgetChanges, getBaseDir, getBasePackage, getChildren, getDefImports, getDefManager, getDefTypeName, getDefWriter, getDifferSkip, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getExtendedDefObjectsInternal, getFileName, getFullDirName, getFullFileName, getHLDefMap, getIdentificationAttributeName, getMergeableFullName, getMergeableName, getOrigObject, getPropertyMap, getPropertyNamesSet, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, getXMLElementTag, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isCustomizationEnabled, isCustomizationEnabled, isDirty, isFromTip, isLoadBase, isLoadHLDefs, isMajorVersionChanged, isMinorVersionChanged, isNew, isNewRecurse, isPersonalizationEnabled, isPersonalizationEnabled, isPropertyExpression, isSaveToJSON, isSkipWrite, isWriteObject, loadDefImports, loadDefObject, loadXMLContentsNoResolve, lockDefinitionContext, lookupHLDef, makeNew, mergeChanges, mergeEditedPropertiesForJSON, mergePropertyMap, postSaveContents, readJSONObject, reapplyChanges, registerClass, registerHLDef, registerSiteDefObject, reloadFromXMLContents, remove, removeAndDelete, removeDefImport, removeExtendedDefObject, removeProperty, saveJSONContents, setCustomizationEnabled, setCustomizationEnabled, setDefaultBaseDir, setDefMgr, setEditableFlag, setEditableObject, setForRuntime, setFullNameInternal, setLoadBase, setLoadHLDefs, setMajorVersionChanged, setNew, setNewRecurse, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setProperty, setPropertyExpression, setPropertyMap, setSkipWrite, setWholeDefDirty, setWholeDefNew, staticUpdateChildrenList, transferDefChangesInto, unlockDefinitionContext, updateChildObject, updateChildrenList, updateMdsKeyFromTip, verifyVersion, verifyVersionNullCheck, writeHeaderForNew, writeJSONContents, writeObject, writeVersionaddPropertySetName, enableUpdateCheck, getAllExtendedDefObjects, getContainerDef, getContainerName, getDefinitionState, getDefScope, getExtendedDefObjects, getMdsKey, getMdsReference, getMdsReferenceName, getPropertySetName, getPropertySetNames, getRootBaseDefObject, isBaseDefFor, isComponentDefinition, isDynamicDefinitionObject, isObjectResolved, isSubtypeOf, isSuppressUpdateCheck, loadCustomProperties, loadPropertiesInMap, loadPropertySetNames, loadSchemaProperties, objectInserted, 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, waitgetFullName, getNamegetNamegetFullNamegetProperty, removeProperty, setPropertypublic static final int SI_EntityAssociation
public static final int SI_EntityAssociationReversed
public static final int SI_SDOHidden
public static final int SMAX_ViewLinkDefImpl
protected oracle.jbo.server.EntityAssociationReference mAssocRef
public ViewLinkDefImpl()
public ViewLinkDefImpl(int defScope,
                       java.lang.String name)
public ViewLinkDefImpl(java.lang.String name)
public static java.lang.String[] getAllDefNames()
public static ViewLinkDefImpl findDefObjectNoSub(java.lang.String viewLinkDefName)
findDefObject,
 except that it does not observe meta-object substitution.viewLinkDefName - The fully qualified Name of the ViewDefImpl.public static ViewLinkDefImpl findDefObject(java.lang.String viewLinkDefName)
viewLinkDefName - The fully qualified Name of the ViewDefImpl.public static ViewLinkDefImpl findDefObject(java.lang.String viewLinkDefName, boolean throwException)
viewLinkDefName - The fully qualified Name of the ViewDefImpl.throwException - throw Exception if ViewLinkDefImpl is not foundprotected int getScalarDirtyCount()
MetaObjectgetScalarDirtyCount in class AssociationDefBasepublic java.lang.Class getComponentClass()
Class of the component that this definition
 object describes, i.e., oracle.jbo.server.ViewLinkImpl.@Concealed protected ViewLinkImpl newComponentClassInstance() throws java.lang.InstantiationException, java.lang.IllegalAccessException
newComponentClassInstance in class MetaObjectjava.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionpublic void buildLinkEnds(ViewDefImpl source, java.lang.String srcName, int srcCardinality, boolean isSrcPartitionUsingWhereClause, AttributeDefImpl[] srcAttrs, java.lang.String[] srcUnboundAttrNames, ViewDefImpl destination, java.lang.String destName, int destCardinality, boolean isDestPartitionUsingWhereClause, AttributeDefImpl[] destAttrs, java.lang.String[] destUnboundAttrNames, java.lang.Object entityAssocObj, java.lang.String assocClause, java.lang.String reverseAssocClause)
public java.lang.String getBaseAssociationName()
public void setBaseAssociationName(java.lang.String assocName)
public int getBindingStyle()
public boolean isEntityAssociationReversed()
public void setEntityAssociationReversed(boolean b)
public oracle.jbo.server.EntityAssociationReference getEntityAssociationReference()
public void setEntityAssociationReference(oracle.jbo.server.EntityAssociationReference assocRef)
assocRef - The EntityAssociationReference.public EntityAssociation getEntityAssociation()
public AssociationEnd getSourceEntityAssocEnd()
public AssociationEnd getDestinationEntityAssocEnd()
public ViewAttributeDefImpl[] getDestinationBindVariables()
public boolean isPartitionUsingWhereClause(boolean isReversed)
public void setDestinationBindVariables(ViewAttributeDefImpl[] vars)
vars - The list of AttributeDefImpls as bind variables on other end.public void writeContents(DefWriter jos)
PersistentDefinitionwriteContents in interface PersistentDefinitionwriteContents in class AssociationDefBasejos - the Output storage for persistencepublic void loadXMLContents(DefElement xmlElement, java.lang.String fullName)
loadXMLContents in class AssociationDefBase@Deprecated public static ViewLinkDefImpl loadFromXML(DefElement xmlElement)
protected void resolveReferences()
resolveReferences in class AssociationDefBasepublic int getDefTypeId()
getDefTypeId in class DefObjectprotected void setDefForComponent(ComponentObjectImpl comp)
setDefForComponent in class DefObjectprotected void unsetDefForComponent(ComponentObjectImpl comp)
unsetDefForComponent in class DefObjectpublic java.lang.String getEndDefXMLElementTag()
getEndDefXMLElementTag in class AssociationDefBasepublic java.lang.String getDefXMLElementTag()
getDefXMLElementTag in interface PersistentDefinitiongetDefXMLElementTag in class PersistableDefObjectpublic boolean isSDOHidden()
public void setSDOHidden(boolean b)
protected AttributeDefImpl[] getIntersectAttributeDefImpls(java.lang.String intObjName, java.util.ArrayList attrNames)
getIntersectAttributeDefImpls in class AssociationDefBasepublic DifferDetails diffContents(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeableorgDef.  Then, help
 methods on DifferBase can be used to diff the attr values
 and accumulate the details of diff in difDetails.
 Here is example code snippet:
    private static final String DIFF_STRING_ELEMS[] =
    {
       "MyStringVal1",
       "MyStringVal2"
    };
    private static final String DIFF_INT_ELEMS[] =
    {
       "MyIntVal",
    }
    public DifferDetails diffContents(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
    {
       <Your-def-class> orgDefImpl = (<Your-def-class>) orgDef;
       final String editStringValues[] =
       {
          this.getMyStringVal1(),
          this.getMyStringVal2()
       };
       String orgStringValues[] = null;
       if (orgDef != null)
       {
          String orgV[] =
          {
             orgDefImpl.getMyStringVal1(),
             orgDefImpl.getMyStringVal2()
          };
          orgStringValues = orgV;
       }
       final int editIntValues[] =
       {
          this.getMyIntVal(),
       };
       int orgIntValues[] = null;
       if (orgDef != null)
       {
          int orgV[] =
          {
             orgDefImpl.getMyIntVal()
          };
          orgIntValues = orgV;
       }
       difDetails = DifferBase.diffStringArray(this, DIFF_STRING_ELEMS, editStringValues, orgStringValues, difDetails);
       difDetails = DifferBase.diffIntArray(this, DIFF_INT_ELEMS, editIntValues, orgIntValues, difDetails);
       return difDetails;
   }
 
 diffContents in interface DiffMergeablediffContents in class AssociationDefBasedocDef - 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 applyDiffContents(DifferDetails dif, DiffResolver resolver)
DiffMergeable
 
    orgDef - original def object (from the branch point)
    editDef - def object into which changes are to be merge
    toMergeDef - def object to be merged (source of changes)
 
 For sandbox refresh operation, orgDef comes from the branch
 point, editDef from the sandbox, toMergeDef from the
 mainline of the repos.  With these three defs, we first diff editDef
 against orgDef, producing editDifDetails.
 
 Similarly, toMergeDef is diffed against orgDef,
 producing toMergeDifDetails.  The diff engine then
 walks through these two sets of diffs and identifies conflicts.
 After the conflicts are all resolved, we apply appropriate
 changes to editDef.
 
 applyDiffContents is called to apply changes to
 scalar values.  dif contains the changed values to
 be applied to 'this' object.  Use sample code like
 the following:
 
    public void applyDiffContents(DifferDetails dif, DiffResolver resolver)
    {
       DifferChangeMap detailMap = dif.getDetailMap();
       Object[] updValues;
       // DIFF_STRING_ELEMS from the above example code
       for (int j = 0; j < DIFF_STRING_ELEMS.length; j++)
       {
          if ((updValues = (Object[]) detailMap.getValue(DIFF_STRING_ELEMS[j])) != null)
          {
             switch(j)
             {
             case 0:
                setMyStringVal1((String) updValues[0]);
                break;
             case 1:
                 setMyStringVal2((String) updValues[0]);
                break;
             }
          }
       }
       for (int j = 0; j < DIFF_INT_ELEMS.length; j++)
       {
          if ((updValues = (Object[]) detailMap.getValue(DIFF_INT_ELEMS[j])) != null)
          {
             switch(j)
             {
             case 0:
                setMyIntVal((Integer) updValues[0]);
                break;
             }
          }
       }
    }
 
 
 Notice that the index specified in the case
 statement is the array index of the attr in the String, int,
 or boolean array.
 
applyDiffContents in interface DiffMergeableapplyDiffContents in class AssociationDefBasedif - changes to be applied to 'this' defresolver - the diff resolver used in diff/merge operation