com.endeca.infront.cartridge
Class RecordDetailsHandler

java.lang.Object
  extended by com.endeca.infront.cartridge.NavigationCartridgeHandler<Config,Model>
      extended by com.endeca.infront.cartridge.RecordDetailsHandler
All Implemented Interfaces:
CartridgeHandler<RecordDetailsConfig>

public class RecordDetailsHandler
extends NavigationCartridgeHandler<Config,Model>

Cartridge handler that creates RecordDetails model objects.


Field Summary
protected  RecordState mRecordState
           
 
Constructor Summary
RecordDetailsHandler()
           
 
Method Summary
protected  List<String> combineFieldNames(NavigationState navigationState, com.endeca.infront.cartridge.FieldNamesConfig config)
          Updates the list of string for retaining representative record properties.
protected  List<Record> createRecords(com.endeca.navigation.ENEQueryResults results, NavigationState navigationState, com.endeca.infront.cartridge.FieldNamesConfig config)
          Convert the records found in the given query to Record form.
protected  FilterState getFilterState(NavigationState navigationState)
          Retrieves the filter state to use when making record detail queries.
protected static long getTotalNumRecs(com.endeca.navigation.ENEQueryResults results)
           
 void preprocess(RecordDetailsConfig cartridgeConfig)
          Creates a record details MDEX query.
 RecordDetails process(RecordDetailsConfig cartridgeConfig)
          Creates a RecordDetails model object.
protected  void retainFields(Map<String,Attribute> attributeMap, com.endeca.infront.cartridge.FieldNamesConfig config, boolean aggregationEnabled)
          Helper method for retaining properties.
 void setRecordState(RecordState pRecordState)
          Sets the record state representing the current request.
protected  RecordDetailsConfig wrapConfig(ContentItem pContentItem)
          Wraps the input ContentItem as a typed config object.
 
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
 

Field Detail

mRecordState

protected RecordState mRecordState
Constructor Detail

RecordDetailsHandler

public RecordDetailsHandler()
Method Detail

setRecordState

public void setRecordState(RecordState pRecordState)
Sets the record state representing the current request.


wrapConfig

protected RecordDetailsConfig wrapConfig(ContentItem pContentItem)
Description copied from class: NavigationCartridgeHandler
Wraps the input ContentItem as a typed config object. It is not expected that subclasses will mutate the input ContentItem, beyond passing it into their typed configuration class as a constructor argument.

Specified by:
wrapConfig in class NavigationCartridgeHandler<RecordDetailsConfig,RecordDetails>
Parameters:
pContentItem - the configuration for this cartridge handler. This will either be the fully initialized configuration object, if a ContentItemInitializer has been set, or it will simply be the instance configuration.
Returns:
an instance of ConfigType which wraps the input ContentItem.
See Also:
NavigationCartridgeHandler.initialize(ContentItem), NavigationCartridgeHandler.setContentItemInitializer(ContentItemInitializer)

preprocess

public void preprocess(RecordDetailsConfig cartridgeConfig)
                throws CartridgeHandlerException
Creates a record details MDEX query.

Specified by:
preprocess in interface CartridgeHandler<RecordDetailsConfig>
Overrides:
preprocess in class NavigationCartridgeHandler<RecordDetailsConfig,RecordDetails>
Parameters:
cartridgeConfig - the cartridge configuration returned by CartridgeHandler.initialize(ContentItem). This cartridge configuration may be modified by this handler. Note that this cartridge configuration is also passed to CartridgeHandler.process(ContentItem).
Throws:
CartridgeHandlerException - if an error occurs that is scoped to an individual cartridge instance. This exception will not halt the entire assembly process, which occurs across multiple cartridges; instead, this exception will be packaged in the overall response model. If an unchecked exception is thrown, then the entire assembly process will be halted.

process

public RecordDetails process(RecordDetailsConfig cartridgeConfig)
                      throws CartridgeHandlerException
Creates a RecordDetails model object.

Specified by:
process in interface CartridgeHandler<RecordDetailsConfig>
Overrides:
process in class NavigationCartridgeHandler<RecordDetailsConfig,RecordDetails>
Parameters:
cartridgeConfig - the cartridge configuration returned by CartridgeHandler.initialize(ContentItem). Note that this instance may have been modified by the CartridgeHandler.preprocess(ContentItem) method.
Returns:
the output value for this cartridge. If null is returned, then the corresponding node in the output tree will be deleted.
Throws:
CartridgeHandlerException - if an error occurs that is scoped to an individual cartridge instance. This exception will not halt the entire assembly process, which occurs across multiple cartridges; instead, this exception will be packaged in the overall response model. If an unchecked exception is thrown, then the entire assembly process will be halted.

getFilterState

protected FilterState getFilterState(NavigationState navigationState)
Retrieves the filter state to use when making record detail queries. This implementation always returns an empty filter state, but can be overridden by subclasses if different behavior is desired.


combineFieldNames

protected List<String> combineFieldNames(NavigationState navigationState,
                                         com.endeca.infront.cartridge.FieldNamesConfig config)
                                  throws CartridgeHandlerException
Updates the list of string for retaining representative record properties.

Returns:
the combined field names from representative record field names, sub-record field names and potentially DGraph.WhyRank and DGraph.WhyMatch if whymatch and whyrank are turned on respectively.
Throws:
CartridgeHandlerException

getTotalNumRecs

protected static long getTotalNumRecs(com.endeca.navigation.ENEQueryResults results)

createRecords

protected List<Record> createRecords(com.endeca.navigation.ENEQueryResults results,
                                     NavigationState navigationState,
                                     com.endeca.infront.cartridge.FieldNamesConfig config)
Convert the records found in the given query to Record form.

Parameters:
results - result of MDEX query.
navigationState - base navigation state for record details links. If null, record details links are omitted.

retainFields

protected void retainFields(Map<String,Attribute> attributeMap,
                            com.endeca.infront.cartridge.FieldNamesConfig config,
                            boolean aggregationEnabled)
Helper method for retaining properties. Assumes getFieldNames() does not return null

Parameters:
attributeMap - A list of attributes to maintain on the records.
config - Cartridge Configuration used to determine which attributes to include.
aggregationEnabled - TRUE if aggregation is enabled on the request.


Copyright © 2012, Oracle and/or its affiliates. All rights reserved.