com.endeca.mobile.abstraction
Class RecordsAbstraction

java.lang.Object
  extended by com.endeca.mobile.abstraction.RecordsAbstraction

public final class RecordsAbstraction
extends java.lang.Object

The RecordsAbstractionPlugin retrieves record result set information; it adds its data to the AbstractedResults object, under the key "Records". If no records are returned with the current query, this key will not exist. If the current query is a record detail query rather than a navigation/search query, the record(s) will still be found and abstracted in the same way by this plugin.

All information added to the AbstractedResult object by the RecordsAbstractionPlugin is contained within one master array. This array contains record information in the order in which it was returned by the engine. Each record is represented in a hash. This hash is created by the "abstractifyERec()" method contained in the AbstractionPlugin superclass.

Each record hash contains the following information:

Record Specthe value of the record's record specifier
Propertiesa hash containing property information for the record. Each value in the hash is keyed by property name. For single-assigned properties, the value will be a string containing the property value; for multi- assigned properties, the value will be an array containing the property values.
Dimensionsa hash containing dimension information for the record. Each value in the hash is keyed by dimension name. Each value is itself a hash, representing a dimension value. These hashes have the following keys: Dim Value ID, Dim Value Name, and Pivot Link. If the query was a navigation/search query rather than a record detail query, there will be one additional key: Selection Link.

If a record is mapped to more than one dimension value from the same dimension, an array of these dimension value hashes will be returned. If a dimension value is a member of a hierarchy, the only difference to the hash will be that the ancestors of the dimension value will be included in the Dim Value Name value, separated by ">" characters. (e.g. "Red > Cabernet")


Constructor Summary
RecordsAbstraction()
           
 
Method Summary
static java.util.ArrayList abstractifyERecList(com.endeca.navigation.ERecList recList, AbstractionContext context)
          Calls abstractifyErecList with a null list of properties to keep (i.e.
static java.util.ArrayList abstractifyERecList(com.endeca.navigation.ERecList recList, AbstractionContext context, java.util.List propsToKeep)
          Abstractifies a ERecList.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RecordsAbstraction

public RecordsAbstraction()
Method Detail

abstractifyERecList

public static final java.util.ArrayList abstractifyERecList(com.endeca.navigation.ERecList recList,
                                                            AbstractionContext context)
Calls abstractifyErecList with a null list of properties to keep (i.e. all properties and dimensions will be kept).


abstractifyERecList

public static final java.util.ArrayList abstractifyERecList(com.endeca.navigation.ERecList recList,
                                                            AbstractionContext context,
                                                            java.util.List propsToKeep)
Abstractifies a ERecList.

Parameters:
pRecList - Record list to abstractify
context - context for the request
propsToKeep - list of strings naming property and dimension names to keep when abstracting results. If null or empty, all properties and dimensions are abstracted.
Returns: