public class PDefViewObject extends PDefRow implements ViewCriteriaManager, CategoryManagerOwner, PDefViewObjectInterface, PDefViewObjectLayoutInterface
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
DFLT_VIEW_CRITERIA_NAME, IMPLICIT_VIEW_CRITERIA_NAME, QUICKSEARCH_VIEW_CRITERIA_NAME
ALLOWEDHINTS
XML_STATEMENT
Constructor and Description |
---|
PDefViewObject() |
PDefViewObject(ViewDefImpl viewDef) |
Modifier and Type | Method and Description |
---|---|
ViewAttributeDefImpl |
addEntityAttribute(java.lang.String attrName,
java.lang.String entityUsageName,
java.lang.String entityAttrName,
boolean isPersistent)
Adds the named attribute to the view definition.
|
ViewAttributeDefImpl |
addViewAttribute(java.lang.String attrName,
java.lang.String expression,
java.lang.Class javaType) |
ViewAttributeDefImpl |
addViewLinkAccessor(java.lang.String accName,
java.lang.String vlName,
java.lang.Class javaType) |
void |
addViewLinkDef(ViewLinkDefImpl vlDef) |
void |
applyDiffChildren(DifferDetails dif,
DiffResolver resolver)
Applies changes to children defs.
|
void |
applyDiffContents(DifferDetails dif,
DiffResolver resolver)
When diff/merge operation is requested, we have the following
three def objects:
|
void |
applyPersonalization(int mode,
java.lang.Object instance) |
void |
applyPersonalization(java.lang.Object instance,
boolean vcAppend) |
void |
applyViewCriteria(ViewCriteria criteria)
Apply the view criteria passed as the argument.
|
void |
applyViewCriteria(ViewCriteria criteria,
boolean bAppend)
Apply the view crtieria passed as the argument.
|
CriteriaClauses |
buildViewCriteriaClauses(ViewCriteria vc)
This method is used by the framework to generate a query clause for a
particular view criteria.
|
void |
clearViewCriterias()
Clear all view criteria, both applied and unapplied help by this
manager
|
ViewCriteria |
createViewCriteria() |
void |
criteriaChanged(ViewCriteria vc)
The criteria manager can track changes to applied view criteria.
|
DifferDetails |
diffChildren(DiffMergeable docDef,
DiffMergeable orgDef,
DifferDetails difDetails)
Performs diff of children defs.
|
DifferDetails |
diffContents(DiffMergeable docDef,
DiffMergeable orgDef,
DifferDetails difDetails)
Performs diff of scalar values.
|
CategoryManager |
ensureCategoryManager()
Internal use only.
|
VariableValueManager |
ensureVariableManager()
Returns this object's Variable Value Manager.
|
static PDefViewObject |
findDefObject(java.lang.String persDefName) |
static PDefViewObject |
findDefObjectNoSub(java.lang.String persDefName) |
DefinitionObject |
findStaticDefinitionObject(java.lang.String fullName) |
static PDefViewObject |
findUserDefObject(java.lang.String persDefName) |
ViewAttributeDefImpl |
findViewAttrDefByBaseAttr(AttributeDefImpl attr) |
ViewLinkDefImpl |
findViewLinkDef(java.lang.String name) |
ViewLinkDefImpl |
findViewLinkDefImpl(ViewAttributeDefImpl attrDef) |
void |
flushChanges()
This method is used to write and save this object
|
byte |
getAccessMode() |
static java.lang.String[] |
getAllDefNames() |
java.util.HashMap |
getAllProperties(java.util.HashMap map,
LocaleContext locale) |
java.lang.String[] |
getAllViewCriteriaNames()
Returns a list of both applied and unapplied view criterias managed
by this object.
|
ViewCriteria[] |
getAllViewCriterias()
Returns a list of both applied and unapplied view criterias managed
by this object.
|
java.lang.String[] |
getApplyViewCriteriaNames() |
ViewCriteria[] |
getApplyViewCriterias(int criteriaMode)
Return a list of applied view criteria that have the mode passed in the argument
turned on.
|
java.lang.String[] |
getAvailableViewCriteriaNames()
Returns a list of view criteria names that are unapplied and managed
by this object
|
CategoryManager |
getCategoryManager()
Internal use only.
|
SortCriteria[] |
getDBSortCriteria() |
java.lang.String |
getDefXMLNameSpace() |
java.lang.String |
getEditVersionsAsString() |
byte |
getFetchMode() |
short |
getFetchSize() |
int |
getFromClauseFlags() |
java.lang.Object |
getHint(java.lang.String attrName,
java.lang.String hintName)
Use this method to get the value of a hint
|
oracle.jbo.server.InheritPersonalization |
getInheritPersonalizationValue() |
protected int |
getLoadSubclassLevel() |
int |
getMajorVersion() |
int |
getMaxFetchSize() |
int |
getMinorVersion() |
int |
getNestedSelectForFullSqlValue() |
protected java.lang.String |
getNoPersDefObjectName(java.lang.String metaObjectName) |
java.lang.String |
getOrderByClause() |
ViewCriteria |
getPersonalizedViewCriteria(java.lang.String name)
Returns the VC if present only from the list of personalized VCs.
|
java.lang.String |
getQueryHint() |
int |
getQueryMode() |
int |
getRangePagingCacheFactor() |
int |
getRangeSize() |
ViewCriteria |
getReqdVC() |
java.lang.String |
getRowMatch() |
java.lang.String |
getSelectClause() |
int |
getSelectClauseFlags() |
java.lang.String |
getSortBy() |
java.lang.String |
getUserDefinedQuery() |
ViewCriteria |
getViewCriteria()
Returns the default view criteria of the manager.
|
ViewCriteria |
getViewCriteria(java.lang.String name)
Returns a reference to the view criteria with a specific name
if it is found.
|
java.lang.String |
getViewCriteriaClause(boolean forQuery)
This method is used by the framework to generate a query clause for the
applied view criterias.
|
ViewCriteriaManager |
getViewCriteriaManager() |
int |
getViewLinkAccessorRetainedValue() |
java.util.List<ViewLinkDefImpl> |
getViewLinkDefs() |
java.lang.String |
getViewLinkPackage() |
java.lang.String |
getWhereClause() |
int |
getWhereClauseFlags() |
boolean |
isNamedViewLinkAccessorRetained(java.lang.String accName)
Deprecated.
since 11.1.1.6.0
For framework internal use only.
This api name may change in future builds, so if any consuming layer uses this method, it will require a code-change and recompile. Used to return retained flag for a specific viewlink accessor in this ViewDef. If the accessor is not overridden, this method returns false. |
boolean |
isNestedSelectForFullSql() |
boolean |
isRemoveDBSortCriteria() |
boolean |
isViewLinkAccessorRetained() |
protected void |
loadDefVersions(DefElement xmlElement) |
void |
loadXMLAccessorDefContents(DefElement elem) |
void |
loadXMLAttrDefContents(DefElement elem) |
void |
loadXMLContents(DefElement xmlElement,
java.lang.String fullName) |
void |
loadXMLDeclarativeWhereClause(DefElement elem) |
void |
loadXMLSortCriteria(DefElement elem) |
void |
loadXMLViewCriteriaContents(DefElement elem) |
void |
loadXMLViewLinkDefContents(DefElement elem) |
ViewLinkDefImpl |
lookupViewLinkDef(java.lang.String name) |
PDefCategory |
personalizeCategory(java.lang.String categoryName) |
protected void |
processAccessors() |
void |
putViewCriteria(java.lang.String name,
ViewCriteria criteria)
Add a view criteria to be managed by this object
|
boolean |
removeApplyViewCriteriaName(java.lang.String name)
Unapplied the view criteria if it is applied.
|
void |
removePersonalizedCategory(java.lang.String categoryName) |
ViewCriteria |
removeViewCriteria(java.lang.String name)
Removes the view criteria from this manager.
|
void |
removeViewLinkDef(java.lang.String name) |
void |
resetCriteria(ViewCriteria vc)
Resets a view criteria to the state as defined in the View Definition.
|
protected java.lang.Object |
resolvePropertyRaw(java.lang.String property,
LocaleContext locale) |
void |
saveLayoutChanges()
Use this method to save the layout changes for attribute hints
|
void |
setAccessMode(byte accessMode) |
void |
setApplyViewCriteriaName(java.lang.String name)
Apply the view criteria name passed as the argument.
|
void |
setApplyViewCriteriaName(java.lang.String name,
boolean bAppend)
Apply the view crtieria name passed as the argument.
|
void |
setApplyViewCriteriaNames(java.lang.String[] names)
Apply a set of view criteria names passed as the argument.
|
void |
setCurrentUnionViewCriteriaName(java.lang.String vcName) |
void |
setDBSortCriteria(SortCriteria[] sortCrit) |
void |
setEditable(boolean b) |
void |
setFetchMode(byte fetchMode) |
void |
setFetchSize(short fetchSize) |
void |
setFromClauseFlags(int flags) |
void |
setFullName(java.lang.String fullName,
boolean setStaticDef) |
boolean |
setHint(java.lang.String attrName,
java.lang.String hintName,
java.lang.Object hintValue)
Use this method to personalize hints on the attribute.
|
void |
setInheritPersonalizationStrValue(java.lang.String s) |
void |
setMaxFetchSize(int maxFetchSize) |
void |
setMaxFetchSizeString(java.lang.String strVal) |
void |
setNamedViewLinkAccessorRetained(java.lang.String accName,
boolean b)
Deprecated.
since 11.1.1.6.0
For framework internal use only.
This api name may change in future builds, so if any consuming layer uses this method, it will require a code-change and recompile. Used to set retained flag for a specific viewlink accessor in this ViewDef. If the accessor is not overridden, this method does nothing. |
void |
setNestedSelectForFullSql(boolean b) |
void |
setOrderByClause(java.lang.String orderByClause) |
void |
setQueryHint(java.lang.String queryHint) |
void |
setQueryMode(int queryMode) |
void |
setRangePagingCacheFactor(int rangePagingCacheFactor) |
void |
setRangeSize(int rangeSize) |
void |
setRemoveDBSortCriteria(boolean bRemove) |
void |
setReqdVC(ViewCriteria vc) |
void |
setRowMatch(java.lang.String rowMatch) |
void |
setSelectClause(java.lang.String selectClause) |
void |
setSelectClauseFlags(int flags) |
void |
setSortBy(java.lang.String sortBy) |
void |
setStaticDefPublic(java.lang.String viewDefName) |
void |
setUserDefinedQuery(java.lang.String userDefinedQuery) |
void |
setViewLinkAccessorRetained(boolean b) |
void |
setWhereClause(java.lang.String whereClause) |
void |
setWhereClauseFlags(int flags) |
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
|
addListBindingDef, addRowOperation, addScriptRowOperation, addValidator, addViewAccessorDef, findAttributeDef, findListBindingDef, findRowOperationDefinition, findViewAccessorDef, getAttrDefsMap, getAttributeCount, getAttributeDef, getAttributeDefs, getAttributeDefs2, getAttributeIndexOf, getChildDefOwner, getColumnNameForQuery, getHiddenAttributes, getHiddenAttributesList, getListBindingDefs, getPersonalizedAttributes, getRowOperationDefinitions, getValidators, getViewAccessorDefs, hideAttribute, lookupAttributeDef, lookupExprDef, lookupListBindingDef, lookupPersonalizedAttribute, lookupRowOperationDefinition, lookupViewAccessorDef, personalizeAttribute, removeAttribute, removeHiddenAttribute, removeListBindingDef, removePersonalizedAttribute, removeRowOperation, removeViewAccessorDef
addOperation, addScriptOperation, applyDiffChildrenPDefComponentOperations, beginDiffObjects, diffChildrenPDefComponentOperations, editCodeSource, ensureCodeSource, findOperationDefinition, getMessageBundleClass, getOperationDefinitions, getPersonalizedVariables, getResourceBundleDef, getResourcePrefix, getVariableManager, hasPersonalizedComponentOperations, hasVariables, lookupCodeSource, lookupOperationDefinition, lookupPersonalizedVariable, lookupRowOperationDefinition, personalizeOperations, personalizeVariable, removeOperation, removePersonalizedVariable, setVariableManager, updateMdsKeyFromTip
applyPersonalization, applyPropertiesPersonalization, deregisterDefObject, getBasePackage, getFileName, getStaticDef, getStaticDefWithCheck, getTrimmedFullName, getTrimmedFullNameForDef, hasStaticDefElem, isAuditEnabled, isAuditEnabled, isDeprecated, loadSubclassXMLContents, loadXMLContents, mergePropertyMap, raiseCustomAuditEvent, registerDefObject, registerSessionDefObject, removeProperty, resolveDefObject, saveXMLContents, setDefinitionState, setFullName, setProperty, setPropertyExpression, setPropertyMap, setStaticDef, setStaticDefPublic
addDefImport, addExtendedDefObject, addSavedDocName, adjustPropertyMapForWrite, allocatePropertyMap, allocatePropertyMapForEdits, checkEditable, checkStructWithOld, close, createFromXML, deregisterSessionObject, diffObjects, ensureDifferDetails, findDefImport, finishedLoading, getBaseDir, getDefImports, getDefManager, getDefTypeName, getDefWriter, getDefXMLElementTag, getEditedPropertiesMap, getEditedPropertyExpressionsMap, getEditedPropertyMap, getEditObject, getExtendedDefObjectsInternal, getFullDirName, getFullFileName, getMergeableFullName, getMergeableName, getOrigObject, getPropertyMap, getSavedDocNames, getSessionSyncLock, getSubstitutedNames, getSyncLock, getXMLElementTag, guaranteePath, hasExtendedDefObjects, includeCustomizationLayerInfo, isCustomizationEnabled, isCustomizationEnabled, isDirty, 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, setEditableFlag, setEditableObject, setFullNameInternal, setLoadBase, setMajorVersionChanged, setNew, setOrigObject, setPersonalizationEnabled, setPersonalizationEnabled, setupDefWriterFromMO, staticUpdateChildrenList, unlockDefinitionContext, updateChildrenList, 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
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, getProperty, getResourceBundleDef
addListBindingDef, getFullName, lookupListBindingDef, registerDefObject, saveXMLContents, setDefScope, writeXMLContents
getFullName, getName, getResourceBundleDef
getName
getFullName
getFullName
public PDefViewObject()
public PDefViewObject(ViewDefImpl viewDef)
public static java.lang.String[] getAllDefNames()
public static PDefViewObject findDefObjectNoSub(java.lang.String persDefName)
public static PDefViewObject findDefObject(java.lang.String persDefName)
public static PDefViewObject findUserDefObject(java.lang.String persDefName)
public void setEditable(boolean b)
setEditable
in interface PDefViewObjectInterface
setEditable
in class PDefRow
public void setFullName(java.lang.String fullName, boolean setStaticDef)
setFullName
in interface PDefViewObjectInterface
setFullName
in class PersDefBase
public DefinitionObject findStaticDefinitionObject(java.lang.String fullName)
findStaticDefinitionObject
in interface PersonalizableDef
findStaticDefinitionObject
in class PersDefBase
public java.lang.String getUserDefinedQuery()
public void setUserDefinedQuery(java.lang.String userDefinedQuery)
public int getSelectClauseFlags()
public void setSelectClauseFlags(int flags)
public int getFromClauseFlags()
public void setFromClauseFlags(int flags)
public int getWhereClauseFlags()
public void setWhereClauseFlags(int flags)
public java.lang.String getSelectClause()
public void setSelectClause(java.lang.String selectClause)
public java.lang.String getWhereClause()
public void setWhereClause(java.lang.String whereClause)
public java.lang.String getOrderByClause()
public void setOrderByClause(java.lang.String orderByClause)
public java.lang.String getRowMatch()
public void setRowMatch(java.lang.String rowMatch)
public java.lang.String getSortBy()
public void setSortBy(java.lang.String sortBy)
public java.lang.String getQueryHint()
public void setQueryHint(java.lang.String queryHint)
public int getMaxFetchSize()
public void setMaxFetchSize(int maxFetchSize)
public void setMaxFetchSizeString(java.lang.String strVal)
public short getFetchSize()
public void setFetchSize(short fetchSize)
public byte getFetchMode()
public void setFetchMode(byte fetchMode)
public int getRangeSize()
public void setRangeSize(int rangeSize)
public byte getAccessMode()
public void setAccessMode(byte accessMode)
public int getRangePagingCacheFactor()
public void setRangePagingCacheFactor(int rangePagingCacheFactor)
public int getQueryMode()
public void setQueryMode(int queryMode)
public int getNestedSelectForFullSqlValue()
public boolean isNestedSelectForFullSql()
public void setNestedSelectForFullSql(boolean b)
public int getViewLinkAccessorRetainedValue()
public boolean isViewLinkAccessorRetained()
public void setViewLinkAccessorRetained(boolean b)
@Concealed public boolean isNamedViewLinkAccessorRetained(java.lang.String accName)
This api name may change in future builds, so if any consuming layer uses this method, it will require a code-change and recompile.
Used to return retained flag for a specific viewlink accessor in this ViewDef. If the accessor is not overridden, this method returns false.
@Concealed public void setNamedViewLinkAccessorRetained(java.lang.String accName, boolean b)
This api name may change in future builds, so if any consuming layer uses this method, it will require a code-change and recompile.
Used to set retained flag for a specific viewlink accessor in this ViewDef. If the accessor is not overridden, this method does nothing.
public ViewAttributeDefImpl addViewLinkAccessor(java.lang.String accName, java.lang.String vlName, java.lang.Class javaType)
public java.util.List<ViewLinkDefImpl> getViewLinkDefs()
public ViewLinkDefImpl lookupViewLinkDef(java.lang.String name)
public ViewLinkDefImpl findViewLinkDef(java.lang.String name)
public java.lang.String getViewLinkPackage()
public void addViewLinkDef(ViewLinkDefImpl vlDef)
public void removeViewLinkDef(java.lang.String name)
public ViewAttributeDefImpl addViewAttribute(java.lang.String attrName, java.lang.String expression, java.lang.Class javaType)
public ViewAttributeDefImpl addEntityAttribute(java.lang.String attrName, java.lang.String entityUsageName, java.lang.String entityAttrName, boolean isPersistent)
If isPersistent
is true
, the view object is
to draw the data from its query statement. The underlying entity
attribute may or may not be persistent. In this case, the
attribute must have a valid database table column or expression
in the view object's query statement. If there is a mismatch
between the query statement and the VO attribute definition list,
you may see AttributeLoadException
or
DataCreationException
.
If the view attribute is marked not persistent and if the underlying
entity attribute is transient, the view attribute will be of the
ATTR_ENTITY_DERIVED
kind.
NoDefException
- if the entity attribute is not found.public ViewAttributeDefImpl findViewAttrDefByBaseAttr(AttributeDefImpl attr)
public VariableValueManager ensureVariableManager()
VariableManagerOwnerBase
ensureVariableManager
in interface VariableManagerOwnerBase
ensureVariableManager
in class PDefComponentObjectBase
public ViewLinkDefImpl findViewLinkDefImpl(ViewAttributeDefImpl attrDef)
protected void processAccessors()
processAccessors
in class PDefRow
public void applyPersonalization(int mode, java.lang.Object instance)
applyPersonalization
in interface PDefViewObjectInterface
applyPersonalization
in interface PersonalizableDef
applyPersonalization
in class PersDefBase
public void applyPersonalization(java.lang.Object instance, boolean vcAppend)
public void writeChildren(DefWriter jos)
PersistentDefinition
writeChildren
in interface PersistentDefinition
writeChildren
in class PDefRow
jos
- the Output storage for persistencepublic void writeContents(DefWriter jos)
PersistentDefinition
writeContents
in interface PersistentDefinition
writeContents
in class PDefComponentObjectBase
jos
- the Output storage for persistencepublic void loadXMLContents(DefElement xmlElement, java.lang.String fullName)
loadXMLContents
in class PDefComponentObjectBase
public PDefCategory personalizeCategory(java.lang.String categoryName)
public void removePersonalizedCategory(java.lang.String categoryName)
public void loadXMLAttrDefContents(DefElement elem)
public void loadXMLViewLinkDefContents(DefElement elem)
public void loadXMLAccessorDefContents(DefElement elem)
public void loadXMLViewCriteriaContents(DefElement elem)
public void loadXMLDeclarativeWhereClause(DefElement elem)
public void loadXMLSortCriteria(DefElement elem)
public ViewCriteria createViewCriteria()
public ViewCriteriaManager getViewCriteriaManager()
public ViewCriteria getViewCriteria(java.lang.String name)
ViewCriteriaManager
getViewCriteria
in interface PDefViewObjectInterface
getViewCriteria
in interface ViewCriteriaManager
name
- view criteria namepublic ViewCriteria[] getAllViewCriterias()
ViewCriteriaManager
getAllViewCriterias
in interface PDefViewObjectInterface
getAllViewCriterias
in interface ViewCriteriaManager
public java.lang.String[] getAllViewCriteriaNames()
ViewCriteriaManager
getAllViewCriteriaNames
in interface ViewCriteriaManager
public java.lang.String[] getAvailableViewCriteriaNames()
ViewCriteriaManager
getAvailableViewCriteriaNames
in interface ViewCriteriaManager
public void putViewCriteria(java.lang.String name, ViewCriteria criteria)
ViewCriteriaManager
putViewCriteria
in interface PDefViewObjectInterface
putViewCriteria
in interface ViewCriteriaManager
name
- Name of the view criteriacriteria
- view criteria referencepublic void clearViewCriterias()
ViewCriteriaManager
clearViewCriterias
in interface ViewCriteriaManager
public ViewCriteria removeViewCriteria(java.lang.String name)
ViewCriteriaManager
removeApplyViewCriteriaName
API.removeViewCriteria
in interface PDefViewObjectInterface
removeViewCriteria
in interface ViewCriteriaManager
name
- The view criteria name that needs to be removedpublic boolean removeApplyViewCriteriaName(java.lang.String name)
ViewCriteriaManager
removeApplyViewCriteriaName
in interface ViewCriteriaManager
name
- The view criteria name that need to be unapplied.true
if the view criteria was found to be applied,
false
otherwise.public void setCurrentUnionViewCriteriaName(java.lang.String vcName)
setCurrentUnionViewCriteriaName
in interface ViewCriteriaManager
public ViewCriteria getViewCriteria()
ViewCriteriaManager
ViewCriteriaManager.DFLT_VIEW_CRITERIA_NAME
then it is considered to
be the default. The default name is also assigned when a view criteria with
a null name is applied.getViewCriteria
in interface ViewCriteriaManager
public void applyViewCriteria(ViewCriteria criteria)
ViewCriteriaManager
applyViewCriteria
in interface ViewCriteriaManager
criteria
- the criteria to be applied.public void applyViewCriteria(ViewCriteria criteria, boolean bAppend)
ViewCriteriaManager
bAppend
is true the passed view criteria will be applied in addition
to the existing ones. If bAppend
is false this method is
identical to ViewCriteriaManager.applyViewCriteria(ViewCriteria)
applyViewCriteria
in interface ViewCriteriaManager
criteria
- the criteria to be appliedbAppend
- pass true
if the view criteria needs to be appended to
the applied list otherwise the list is cleared out.public void setApplyViewCriteriaName(java.lang.String name)
ViewCriteriaManager
setApplyViewCriteriaName
in interface ViewCriteriaManager
name
- the criteria to be applied.public void setApplyViewCriteriaName(java.lang.String name, boolean bAppend)
ViewCriteriaManager
bAppend
is true the passed view criteria will be applied in addition
to the existing ones. If bAppend
is false this method is
identical to ViewCriteriaManager.setApplyViewCriteriaName(String)
If name
is null there will be no applied view criteria
(identical to setApplyViewCriteriaName(null)
;
bAppend
will be ignored).
setApplyViewCriteriaName
in interface ViewCriteriaManager
name
- the criteria to be appliedbAppend
- pass true
if the view criteria needs to be appended to
the applied list otherwise the list is cleared out.public void setApplyViewCriteriaNames(java.lang.String[] names)
ViewCriteriaManager
setApplyViewCriteriaNames
in interface ViewCriteriaManager
names
- the criterias to be applied.public ViewCriteria[] getApplyViewCriterias(int criteriaMode)
ViewCriteriaManager
ViewCriteria.CRITERIA_MODE_CACHE
and
ViewCriteria.CRITERIA_MODE_QUERY
for more information. View criterias
that have both modes turned on are also qualified.getApplyViewCriterias
in interface ViewCriteriaManager
criteriaMode
- the mode to match the criteria.public java.lang.String[] getApplyViewCriteriaNames()
getApplyViewCriteriaNames
in interface ViewCriteriaManager
public java.lang.String getViewCriteriaClause(boolean forQuery)
ViewCriteriaManager
getViewCriteriaClause
in interface ViewCriteriaManager
forQuery
- true
if the clause is needed for a database
query, false
for in-memory filtering.public CriteriaClauses buildViewCriteriaClauses(ViewCriteria vc)
ViewCriteriaManager
ViewCriteriaManager.getViewCriteriaClause(boolean)
buildViewCriteriaClauses
in interface ViewCriteriaManager
vc
- the view criteria whose criteria needs to be generatedpublic void criteriaChanged(ViewCriteria vc)
ViewCriteriaManager
criteriaChanged
in interface ViewCriteriaManager
vc
- the view criteria that has changedpublic void resetCriteria(ViewCriteria vc)
ViewCriteriaManager
resetCriteria
in interface ViewCriteriaManager
vc
- View Criteria to be resetpublic void setReqdVC(ViewCriteria vc)
public ViewCriteria getReqdVC()
public boolean isRemoveDBSortCriteria()
public void setRemoveDBSortCriteria(boolean bRemove)
public SortCriteria[] getDBSortCriteria()
public void setDBSortCriteria(SortCriteria[] sortCrit)
public CategoryManager ensureCategoryManager()
ensureCategoryManager
in interface CategoryManagerOwner
public CategoryManager getCategoryManager()
getCategoryManager
in interface CategoryManagerOwner
null
if one was not yet initialized.public DifferDetails diffContents(DiffMergeable docDef, DiffMergeable orgDef, DifferDetails difDetails)
DiffMergeable
orgDef
. 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) {orgDefImpl = ( ) 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 DiffMergeable
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 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 PDefRow
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 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 DiffMergeable
dif
- changes to be applied to 'this'
defresolver
- the diff resolver used in diff/merge operationpublic 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 PDefRow
@Concealed public void setStaticDefPublic(java.lang.String viewDefName)
setStaticDefPublic
in interface PDefViewObjectInterface
public ViewCriteria getPersonalizedViewCriteria(java.lang.String name)
getPersonalizedViewCriteria
in interface PDefViewObjectInterface
name
- - name of VC to look forpublic void flushChanges()
flushChanges
in interface PDefViewObjectInterface
public boolean setHint(java.lang.String attrName, java.lang.String hintName, java.lang.Object hintValue)
setHint
in interface PDefViewObjectLayoutInterface
attrName
- - Name of attribute to be personalizedhintName
- - Hint namehintValue
- - hint valuepublic java.lang.Object getHint(java.lang.String attrName, java.lang.String hintName)
getHint
in interface PDefViewObjectLayoutInterface
attrName
- - name of the attribute whose hint needs to be retrievedhintName
- - name of the hintpublic void saveLayoutChanges()
saveLayoutChanges
in interface PDefViewObjectLayoutInterface
public oracle.jbo.server.InheritPersonalization getInheritPersonalizationValue()
public void setInheritPersonalizationStrValue(java.lang.String s)
protected int getLoadSubclassLevel()
public java.lang.String getEditVersionsAsString()
getEditVersionsAsString
in class PersistableDefObject
public int getMajorVersion()
getMajorVersion
in class PersistableDefObject
public int getMinorVersion()
getMinorVersion
in class PersistableDefObject
protected void loadDefVersions(DefElement xmlElement)
protected java.lang.String getNoPersDefObjectName(java.lang.String metaObjectName)
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
public java.lang.String getDefXMLNameSpace()
getDefXMLNameSpace
in interface PersistentDefinition
getDefXMLNameSpace
in class PersistableDefObject