atg.projects.store.assembler.cartridge.handler
Class TargetedItemsHandler
java.lang.Object
com.endeca.infront.cartridge.NavigationCartridgeHandler<com.endeca.infront.assembler.ContentItem,TargetedItemsContentItem>
atg.projects.store.assembler.cartridge.handler.TargetedItemsHandler
- All Implemented Interfaces:
- com.endeca.infront.assembler.CartridgeHandler<com.endeca.infront.assembler.ContentItem>
public class TargetedItemsHandler
- extends com.endeca.infront.cartridge.NavigationCartridgeHandler<com.endeca.infront.assembler.ContentItem,TargetedItemsContentItem>
TargetedItemsHandler adds prefix to configured in cartridge component if needed,
resolves targeter component, targets for mItemCount of items and set them in
TargeterItems.
Properties:
sourceMap - targeting source map to be used during targeting. Represents a mapping
between source names used in a targeting operation and their Nucleus paths. sourceMap
is used to obtain a NameResolver object and passes it to the Targeter, which
uses the NameResolver to resolve the names of source objects associated with a
targeting operation.
itemDescriptor - descriptor of item that should be returned be this targeter
pathPrefix - prefix for targeter components.
Method Summary |
java.lang.String |
getItemDescriptor()
|
java.lang.String |
getPathPrefix()
|
atg.repository.Repository |
getRepository()
|
atg.targeting.TargetingSourceMap |
getSourceMap()
|
void |
preprocess(com.endeca.infront.assembler.ContentItem pContentItem)
|
TargetedItemsContentItem |
process(com.endeca.infront.assembler.ContentItem pCartridgeConfig)
This method builds full targeter\slot component path is build using component
path configured in Experience Manager and pathPrefix property. |
void |
setItemDescriptor(java.lang.String pItemDescriptor)
|
void |
setPathPrefix(java.lang.String pPathPrefix)
|
void |
setRepository(atg.repository.Repository pRepository)
|
void |
setSourceMap(atg.targeting.TargetingSourceMap pSourceMap)
|
protected com.endeca.infront.assembler.ContentItem |
wrapConfig(com.endeca.infront.assembler.ContentItem pContentitem)
Create a new BasicContentItem using the passed in ContentItem |
Methods inherited from class com.endeca.infront.cartridge.NavigationCartridgeHandler |
createMdexRequest, dispatchNavigationEventInformation, executeMdexRequest, getActionPathProvider, getContentItemInitializer, getMdexRequestBroker, getNavigationState, initialize, populateNavigationPathDefaults, setActionPathProvider, setContentItemInitializer, setMdexRequestBroker, setNavigationState |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
COMPONENT_PATH_SEPARATOR
protected static final java.lang.String COMPONENT_PATH_SEPARATOR
- See Also:
- Constant Field Values
COMPONENT_PATH
protected static final java.lang.String COMPONENT_PATH
- See Also:
- Constant Field Values
ITEM_COUNT
protected static final java.lang.String ITEM_COUNT
- See Also:
- Constant Field Values
DEFAULT_ITEMS_AMOUNT
protected static final int DEFAULT_ITEMS_AMOUNT
- See Also:
- Constant Field Values
TargetedItemsHandler
public TargetedItemsHandler()
getPathPrefix
public java.lang.String getPathPrefix()
- Returns:
- the pathPrefix
setPathPrefix
public void setPathPrefix(java.lang.String pPathPrefix)
- Parameters:
pPathPrefix
- the pathPrefix to set
getItemDescriptor
public java.lang.String getItemDescriptor()
- Returns:
- the itemDescriptor
setItemDescriptor
public void setItemDescriptor(java.lang.String pItemDescriptor)
- Parameters:
pItemDescriptor
- the itemDescriptor to set
getRepository
public atg.repository.Repository getRepository()
- Returns:
- the repository
setRepository
public void setRepository(atg.repository.Repository pRepository)
- Parameters:
pRepository
- the repository to set
getSourceMap
public atg.targeting.TargetingSourceMap getSourceMap()
- Returns:
- the mSourceMap
setSourceMap
public void setSourceMap(atg.targeting.TargetingSourceMap pSourceMap)
- Parameters:
pSourceMap
- the sourceMap to set
wrapConfig
protected com.endeca.infront.assembler.ContentItem wrapConfig(com.endeca.infront.assembler.ContentItem pContentitem)
- Create a new BasicContentItem using the passed in ContentItem
- Specified by:
wrapConfig
in class com.endeca.infront.cartridge.NavigationCartridgeHandler<com.endeca.infront.assembler.ContentItem,TargetedItemsContentItem>
preprocess
public void preprocess(com.endeca.infront.assembler.ContentItem pContentItem)
throws com.endeca.infront.assembler.CartridgeHandlerException
- Specified by:
preprocess
in interface com.endeca.infront.assembler.CartridgeHandler<com.endeca.infront.assembler.ContentItem>
- Overrides:
preprocess
in class com.endeca.infront.cartridge.NavigationCartridgeHandler<com.endeca.infront.assembler.ContentItem,TargetedItemsContentItem>
- Throws:
com.endeca.infront.assembler.CartridgeHandlerException
process
public TargetedItemsContentItem process(com.endeca.infront.assembler.ContentItem pCartridgeConfig)
throws com.endeca.infront.assembler.CartridgeHandlerException
- This method builds full targeter\slot component path is build using component
path configured in Experience Manager and pathPrefix property. Then the targeter\slot
component is resolved and itemCount items are targeted. Items returned by slot\targeter
should be of type itemDescriptor. Only items of this type will be put in TargetedItemsContentItem.
If item of another type is found, error will be logged. If itemCount is not set,
then all items returned by slot or targeter of type itemDescriptor will be put in TargetedItemsContentItem.
- Specified by:
process
in interface com.endeca.infront.assembler.CartridgeHandler<com.endeca.infront.assembler.ContentItem>
- Overrides:
process
in class com.endeca.infront.cartridge.NavigationCartridgeHandler<com.endeca.infront.assembler.ContentItem,TargetedItemsContentItem>
- Throws:
com.endeca.infront.assembler.CartridgeHandlerException