Package de.hybris.platform.catalog.jalo
Class Keyword
- java.lang.Object
-
- All Implemented Interfaces:
CatalogItem<Keyword>
,java.io.Serializable
,java.lang.Comparable
- Direct Known Subclasses:
GeneratedClassificationKeyword
public class Keyword extends GeneratedKeyword implements CatalogItem<Keyword>
A keyword can be used to allow convenient searches on catalog elements. Keywords are be bound to the catalog elementsCategory
andProduct
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.GenericItem
GenericItem.GenericItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LocalizableItem.LocalizableItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.ExtensibleItem
ExtensibleItem.ExtensibleItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.Item
Item.AttributeFilter, Item.AttributeMode, Item.CachedGetter, Item.CachedSetter, Item.ItemAttributeMap, Item.ItemConstraint, Item.ItemImpl, Item.JaloCachedComputationException
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.catalog.jalo.GeneratedKeyword
CATALOG, CATALOGVERSION, CATEGORIES, CATEGORY2KEYWORDRELATION_MARKMODIFIED, CATEGORY2KEYWORDRELATION_SRC_ORDERED, CATEGORY2KEYWORDRELATION_TGT_ORDERED, DEFAULT_INITIAL_ATTRIBUTES, KEYWORD, LANGUAGE, PRODUCT2KEYWORDRELATION_MARKMODIFIED, PRODUCT2KEYWORDRELATION_SRC_ORDERED, PRODUCT2KEYWORDRELATION_TGT_ORDERED, PRODUCTS
-
Fields inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LANGUAGE_FALLBACK_ENABLED
-
Fields inherited from class de.hybris.platform.jalo.Item
_CREATION_TIME_INTERNAL, _MODIFIED_TIME_INTERNAL, accessorLog, CREATION_TIME, DISABLE_ATTRIBUTE_CHECK, DISABLE_ITEMCHECK_BEFORE_REMOVABLE, EVEN, FEATURE_ACCESSMAP_QUALIFIER, HJMPTS, INITIAL_CREATION_FLAG, isJaloOnly, MODIFIED_TIME, NEGATIVE, NOT_FOUND, OWNER, PK, POSITIVE, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPE
-
Fields inherited from class de.hybris.platform.util.BridgeAbstraction
impl, tenant
-
-
Constructor Summary
Constructors Constructor Description Keyword()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Item
createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes)
Has to be implemented for each concrete subtype of item.java.lang.String
getCatalogItemID()
Returns the unique id of this item.java.lang.String
getCatalogVersionAttributeQualifier()
Must provide the attribute qualifier of the attribute holding the catalog version which this item belongs to.long
getCategoriesCount(SessionContext ctx)
Keyword
getCounterpartItem(CatalogVersion targetVersion)
Optionally finds potential copies of this item within a synchronization target version.java.lang.String
getIDAttributeQualifier()
Must provide the attribute qualifier of the attribute holding the unique id of this item.long
getProductsCount(SessionContext ctx)
void
setCatalogVersion(SessionContext ctx, CatalogVersion catalogVersion)
Assigns theKeyword
to a newCatalogVersion
.java.lang.String
toString()
Returns theString
representation of this item.-
Methods inherited from class de.hybris.platform.catalog.jalo.GeneratedKeyword
addToCategories, addToCategories, addToProducts, addToProducts, getAllCategories, getAllCategories, getAllProducts, getAllProducts, getCatalogVersion, getCatalogVersion, getCategories, getCategories, getCategoriesCount, getCategoriesCount, getCategoriesCount, getDefaultAttributeModes, getKeyword, getKeyword, getLanguage, getLanguage, getProducts, getProducts, getProductsCount, getProductsCount, getProductsCount, isMarkModifiedDisabled, removeFromCategories, removeFromCategories, removeFromProducts, removeFromProducts, setAllCategories, setAllCategories, setAllProducts, setAllProducts, setCatalogVersion, setCategories, setCategories, setKeyword, setKeyword, setLanguage, setLanguage, setProducts, setProducts
-
Methods inherited from class de.hybris.platform.jalo.GenericItem
getImplementation, getInitialProperties, getNonInitialAttributes, getRelatedItems, setRelatedItems
-
Methods inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllValuesSessionContext, getLocalizedProperty, getLocalizedProperty, getLocalizedPropertyInternal, getLocalizedPropertyNames, getLocalizedPropertyNames, hasLanguage, isEmptyValue, isFallbackEnabled, removeLocalizedProperty, removeLocalizedProperty, setAllLocalizedProperties, setAllLocalizedProperties, setLocalizedProperty, setLocalizedProperty
-
Methods inherited from class de.hybris.platform.jalo.ExtensibleItem
createNonClassAccessor, getAllProperties, getAllProperties, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setProperty
-
Methods inherited from class de.hybris.platform.jalo.Item
addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addNegativePermission, addPermission, addPositivePermission, assureExtensionsLoaded, changeTypeAfterCreation, checkConstraint, checkItemPermission, checkMandatoryAttribute, checkMandatoryAttribute, checkPermission, checkPermission, checkRemovable, clearPermission, compareTo, ctx, doAfterRemove, doBeforeRemove, equals, getAccessorFor, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributesInternal, getAllLinkedItems, getAndCheckCacheBoundItem, getAttribute, getAttribute, getCacheBoundItem, getComposedType, getComposedTypePK, getCreationTime, getCurrentlyRemovingCount, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItemsCount, getLinkedItemsCount, getLinkedItemsCount, getModificationTime, getNegativePermissions, getOwner, getPermissionMap, getPermissions, getPersistenceVersion, getPK, getPositivePermissions, getRestrictedPrincipals, getSession, getSyncObject, getTenant, getTransientObject, getTransientObjectMap, hashCode, hasRegisteredClassAccessorFor, internal_registerClassAccessorFor, internal_registerNonClassAccessorFor, invalidateLocalCaches, isAlive, isCacheBound, isCurrentlyRemoving, isCurrentlyRemoving, isEmptyRelationValue, isInCreate, isInstanceOf, isItemCheckBeforeRemoveableDisabled, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, notifyManagerAboutItemRemoval, readResolve, registerAccessFor, registerAccessFor, registerJaloInvalidationListeners, remove, remove, removeItemCollection, removeItemCollection, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinks, removePartOfItems, removePartOfItems, setAllAttributes, setAllAttributes, setAllAttributesInternal, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAttribute, setAttribute, setAttributeFromString, setAttributeFromString, setCacheBound, setComposedType, setCreationTime, setImplementation, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setModificationTime, setNonInitialAttributes, setOwner, setPermissionsByMap, setTransientObject, setUseTA, useTA, writeReplace
-
Methods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.catalog.jalo.CatalogItem
getCatalogVersion
-
-
-
-
Method Detail
-
createItem
protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
Description copied from class:Item
Has to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) duringComposedType.newInstance(Map)
.In case this method uses any of the attribute values during creation it is required to override
Item.getNonInitialAttributes(SessionContext, ItemAttributeMap)
too.
Sn example:public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) ); // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes( SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret = super.getNonInitialAttributes( ctx, allAttributes ); // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }
- Overrides:
createItem
in classGenericItem
- Parameters:
ctx
- the current session context which this item is created withintype
- the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )- Returns:
- the new item instance
- Throws:
JaloBusinessException
- indicates an error during creation - any changes will be rollbacked
-
toString
public java.lang.String toString()
Description copied from class:Item
Returns theString
representation of this item. This is by default the representation of the primary key of this item.
-
getIDAttributeQualifier
public java.lang.String getIDAttributeQualifier()
Description copied from interface:CatalogItem
Must provide the attribute qualifier of the attribute holding the unique id of this item.- Specified by:
getIDAttributeQualifier
in interfaceCatalogItem<Keyword>
-
getCatalogVersionAttributeQualifier
public java.lang.String getCatalogVersionAttributeQualifier()
Description copied from interface:CatalogItem
Must provide the attribute qualifier of the attribute holding the catalog version which this item belongs to.- Specified by:
getCatalogVersionAttributeQualifier
in interfaceCatalogItem<Keyword>
-
getCounterpartItem
public Keyword getCounterpartItem(CatalogVersion targetVersion)
Description copied from interface:CatalogItem
Optionally finds potential copies of this item within a synchronization target version. This applies to catalog items which have not been synchronized before but nevertheless already exist in both version and must be matched to avoid duplicates.Hint: Usually this can be easily implemented by searching for a item with he same id within the target version.
- Specified by:
getCounterpartItem
in interfaceCatalogItem<Keyword>
-
getCatalogItemID
public java.lang.String getCatalogItemID()
Description copied from interface:CatalogItem
Returns the unique id of this item. This id is unique within its enclosing catalog version only - other catalog versions may own items with the same id ( usually copies of this one ).- Specified by:
getCatalogItemID
in interfaceCatalogItem<Keyword>
-
setCatalogVersion
public void setCatalogVersion(SessionContext ctx, CatalogVersion catalogVersion)
Assigns theKeyword
to a newCatalogVersion
. The read-only attribute catalog is automatically updated!- Overrides:
setCatalogVersion
in classGeneratedKeyword
- Parameters:
ctx
- theSessionContext
which will be used.catalogVersion
- the newCatalogVersion
.
-
getProductsCount
public long getProductsCount(SessionContext ctx)
- Overrides:
getProductsCount
in classGeneratedKeyword
- Parameters:
ctx
- the session context to define localization- Returns:
- the amount of products described by this keyword. note that the product set is localized.
-
getCategoriesCount
public long getCategoriesCount(SessionContext ctx)
- Overrides:
getCategoriesCount
in classGeneratedKeyword
- Parameters:
ctx
- the session context to define localization- Returns:
- the amount of categories described by this keyword. note that the category set is localized.
-
-