public class CatalogMapDerivation
extends atg.repository.dp.DerivationMethodImpl
<property name="currentInfo">
<derivation user-method="atg.commerce.dp.CatalogMapDerivation">
<expression>productInfos</expression>
</derivation>
</property>
In this example, currentInfo would be the productInfo in the map "productInfos" that
is mapped to by the current session scoped profile.catalog. If this is accessed outside
the scope of a session, or there is no catalog, this will return null.
Created: Mon Apr 02 09:32:52 2001| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
CATALOG_KEY_PROPERTY |
static java.lang.String |
CLASS_VERSION
Class version string
|
protected static java.lang.String |
DERIVATION_NAME |
protected static java.lang.String |
DISPLAY_NAME |
protected static java.lang.String |
MAP_TYPE_NAME |
protected static java.lang.String |
PROFILE_CATALOG_PROPERTY |
protected static java.lang.String |
SHORT_DESCRIPTION |
COMPARISON_QUERY, INCLUDES_ALL_QUERY, INCLUDES_ANY_QUERY, INCLUDES_ITEM_QUERY, INCLUDES_QUERY, IS_NULL_QUERY, PATTERN_MATCH_QUERY, sZero, TEXT_SEARCH_QUERYBUNDLE_ATTRIBUTE_NAME, LOCALE_ATTRIBUTE_NAMEATTR_METHOD, ATTR_OVERRIDE_PROPERTY, ATTR_USER_METHOD, DEFAULT_METHOD_NAME, DEFAULT_RECURSION_DEPTH, DP_COUNT_ATTR_NAME, ERR_BAD_ENUMERATION_TYPE, ERR_COLLECTION_EXPRESSION_TYPE, ERR_COLLECTION_ITEM_TYPE, ERR_DP_EXP_NOT_ARRAY, ERR_DP_EXP_NOT_COLLECTION, ERR_DP_EXP_NOT_MAP, ERR_DP_EXP_NOT_SET_LIST, ERR_DP_EXP_NOT_SET_LIST_MAP, ERR_DP_EXP_REFERENCES_DP, ERR_DP_EXP_TYPE_MISMATCH, ERR_DP_NOT_SET_LIST_MAP, ERR_DP_QUERYABLE_OP_NOT, ERR_DP_READABLE_OP_NOT, ERR_DP_WRITABLE_OP_NOT, ERR_DP_WRITABLE_WITH_NULL_OP, ERR_EMPTY_EXPRESSION, ERR_EXACTLY_ONE_EXPRESSION, ERR_INCOMPATIBLE_DP_EXP, ERR_INCOMPATIBLE_OP, ERR_INVALID_OVERRIDE_PROPERTY_NAME, ERR_INVALID_PROPERTY, ERR_METHOD_AND_USER_METHOD, ERR_MISSING_DERIVATION, ERR_NO_ATTRIBUTE, ERR_NO_DP, ERR_NO_EXP, ERR_NO_EXPRESSION, ERR_NO_METHOD, ERR_NO_PROPERTY_FOR_LOCALE, ERR_NO_PROPERTY_TYPE, ERR_NO_SET_LIST, ERR_NULL_ITEM_DESCRIPTOR, ERR_OP_SAME_AS_DP, ERR_PROP_COLLECTION_TYPE, ERR_SET_NOT_WRITABLE, PROPERTY_SEPARATOR, RECURSION_DEPTH_ATTR_NAME, RESOURCE_BUNDLE_NAME, TAG_DERIVATION, TAG_EXPRESSION| Constructor and Description |
|---|
CatalogMapDerivation() |
| Modifier and Type | Method and Description |
|---|---|
Query |
createIsNullQuery(QueryBuilder pBuilder,
atg.repository.query.PropertyQueryExpression pParentProperty,
java.util.List pChildPropertyList)
Create a query to check if our derived property is null.
|
protected Query |
createQuery(int pQueryType,
boolean pDerivedPropertyOnLeft,
boolean pCountDerivedProperty,
QueryExpression pOther,
int pOperator,
boolean pIgnoreCase,
QueryExpression pMinScore,
QueryExpression pSearchStringFormat,
Query pItemQuery,
QueryBuilder pBuilder,
atg.repository.query.PropertyQueryExpression pParentProperty,
java.util.List pChildPropertyList)
Do the real work of implementing a query to find the correct map
value.
|
java.lang.Object |
derivePropertyValue(java.lang.Object pBean)
Determine the specified derived property value.
|
java.lang.Object |
derivePropertyValue(RepositoryItemImpl pItem)
Determine the specified derived property value.
|
protected java.lang.Object |
getCatalog()
Get the catalog for the current user.
|
protected java.lang.String |
getKey()
Gets the key to be used to look up the value in the map defined by the property expression.
|
protected java.lang.Object |
getProfile()
Get the Profile for the current session
|
atg.repository.dp.Expression |
getPropertyOrigin(RepositoryItemImpl pItem)
Determine from where the specified property value is derived, if
applicable.
|
boolean |
isQueryable()
Determine whether the specified property can be used in a query.
|
java.util.List |
validate()
Validate the derivation.
|
createComparisonQuery, createExpression, createIncludesAllQuery, createIncludesAnyQuery, createIncludesItemQuery, createIncludesQuery, createPatternMatchQuery, createQuery, createReferencedByQuery, createTextSearchQuery, getAllowNoExpressions, getDerivation, getFeatureDescriptor, getOtherUnderlyingExpressions, getPropertyDescriptor, getPropertyOrigin, getPropertyOrigin, getPropertyOrigin, isEmpty, isWritable, rebuildExpression, setDerivation, setFrom, setPropertyDescriptor, setPropertyValue, setPropertyValue, wrapcopyFeatureDescriptor, getDisplayName, getDisplayNameResource, getDisplaySortString, getLocalizedResourceBundle, getResourceBundle, getShortDescription, getShortDescriptionResource, getSortString, setDisplayNameResource, setShortDescriptionResource, toStringpublic static java.lang.String CLASS_VERSION
protected static final java.lang.String DERIVATION_NAME
protected static final java.lang.String DISPLAY_NAME
protected static final java.lang.String SHORT_DESCRIPTION
protected static final java.lang.String PROFILE_CATALOG_PROPERTY
protected static final java.lang.String CATALOG_KEY_PROPERTY
protected static final java.lang.String MAP_TYPE_NAME
public java.util.List validate()
validate in interface atg.repository.dp.DerivationMethodvalidate in class atg.repository.dp.DerivationMethodImplpublic java.lang.Object derivePropertyValue(RepositoryItemImpl pItem) throws RepositoryException
pItem - the item whose property value is desiredPropertyNotFoundException - if a property referenced in this
expression could not be found in the specified beanRepositoryExceptionpublic java.lang.Object derivePropertyValue(java.lang.Object pBean)
throws RepositoryException
pBean - the bean representing a repository item whose property
value is desiredPropertyNotFoundException - if a property referenced in this
expression could not be found in the specified beanRepositoryExceptionpublic atg.repository.dp.Expression getPropertyOrigin(RepositoryItemImpl pItem) throws RepositoryException
getPropertyOrigin in interface atg.repository.dp.DerivationMethodgetPropertyOrigin in class atg.repository.dp.DerivationMethodImplpItem - the item whose property value origin is desiredRepositoryExceptionpublic boolean isQueryable()
protected java.lang.Object getCatalog()
throws PropertyNotFoundException
PropertyNotFoundExceptionprotected java.lang.Object getProfile()
protected java.lang.String getKey()
throws RepositoryException
PropertyNotFoundException - If the catalog property on the profile cannot be found.RepositoryException - If a repository-level exception occurs.public Query createIsNullQuery(QueryBuilder pBuilder, atg.repository.query.PropertyQueryExpression pParentProperty, java.util.List pChildPropertyList) throws RepositoryException
createIsNullQuery in interface atg.repository.dp.DerivationMethodcreateIsNullQuery in class atg.repository.dp.DerivationMethodImplpBuilder - query builder to usepParentProperty - the parent of the derived property, if the
derived property is not a direct child of the Item being queried.pChildPropertyList - a list of the children of the derived
property, if the derived property is not the last expression
in the query.RepositoryException - if there is problem building the queryprotected Query createQuery(int pQueryType, boolean pDerivedPropertyOnLeft, boolean pCountDerivedProperty, QueryExpression pOther, int pOperator, boolean pIgnoreCase, QueryExpression pMinScore, QueryExpression pSearchStringFormat, Query pItemQuery, QueryBuilder pBuilder, atg.repository.query.PropertyQueryExpression pParentProperty, java.util.List pChildPropertyList) throws RepositoryException
All of the QueryExpression arguments to this method were created by pBuilder and thus can be used as is without being translated.
createQuery in class atg.repository.dp.DerivationMethodImplpQueryType - the type of the original querypDerivedPropertyOnLeft - if true the derived property
is used as the left hand side in the query and pOtherExpression is
used as the right hand side. If false the derived property
is used as the right hand side and pOtherExpression is used as the left
hand side.pCountDerivedProperty - if true the derived property
is used in a count query expressionpOther - the other expression involved in binary queriespOperator - the binary operator involved in binary queriespIgnoreCase - whether to ignore case in pattern match queriespMinScore - min score for text queriespSearchStringFormat - search string format for text queriespItemQuery - query to use in includes item queries onlypBuilder - query builder to usepParentProperty - the parent of the derived property, if the
derived property is not a direct child of the Item being queried.pChildPropertyList - a list of the children of the derived
property, if the derived property is not the last expression
in the query.RepositoryException - if there is problem building the query