com.endeca.mobile.abstraction
Class AbstractionBase

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

public abstract class AbstractionBase
extends java.lang.Object

The AbstractionPlugin abstract class is used as a base plugin when creating plugins that add the results of an Endeca query to an "AbstractedResult" object, which can then be marshalled and sent back to the client.

Each abstraction plugin adds information to the "AbstractedResult" object, which is handed from plugin to plugin; each abstraction plugin then pulls the types of information it's responsible for out of the Endeca results object, and adds it to the AbstractedResult object.

Extensions of this class currently include:

Upcoming extensions of this class will also handle:
- Merchandising/Supplemental Objects



Constructor Summary
AbstractionBase()
           
 
Method Summary
static java.util.HashMap abstractifyDimVal(com.endeca.navigation.DimVal dimVal, AbstractionContext context)
           
static java.util.HashMap abstractifyERec(com.endeca.navigation.ERec rec, AbstractionContext context)
           
static java.util.HashMap abstractifyERec(com.endeca.navigation.ERec rec, AbstractionContext context, java.util.List propsToKeep)
          Utility method to turn an ERec into a generic HashMap, for use in abstractification.
static java.util.HashMap abstractifyPropMap(com.endeca.navigation.PropertyMap propsMap, AbstractionContext context)
           
static java.util.HashMap abstractifyPropMap(com.endeca.navigation.PropertyMap propsMap, AbstractionContext context, java.util.List propsToKeep)
          Utility method to turn a PropertyMap into a generic HashMap, for use in abstractification.
static java.lang.Object applyAbstractionMetadata(java.lang.String key, java.lang.Object value, MetadataService metadataService)
           
static java.lang.String getValue(java.lang.String value, AbstractionMetadata metadata)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractionBase

public AbstractionBase()
Method Detail

abstractifyPropMap

public static final java.util.HashMap abstractifyPropMap(com.endeca.navigation.PropertyMap propsMap,
                                                         AbstractionContext context)

abstractifyPropMap

public static final java.util.HashMap abstractifyPropMap(com.endeca.navigation.PropertyMap propsMap,
                                                         AbstractionContext context,
                                                         java.util.List propsToKeep)
Utility method to turn a PropertyMap into a generic HashMap, for use in abstractification. Used by many of the abstractor classes.

Parameters:
propsMap - PropertyMap that should be turned into a HashMap
propsToKeep - List of property/dimension names to abstract. All will be abstracted if null/empty.

applyAbstractionMetadata

public static final java.lang.Object applyAbstractionMetadata(java.lang.String key,
                                                              java.lang.Object value,
                                                              MetadataService metadataService)

getValue

public static final java.lang.String getValue(java.lang.String value,
                                              AbstractionMetadata metadata)

abstractifyERec

public static final java.util.HashMap abstractifyERec(com.endeca.navigation.ERec rec,
                                                      AbstractionContext context)

abstractifyERec

public static final java.util.HashMap abstractifyERec(com.endeca.navigation.ERec rec,
                                                      AbstractionContext context,
                                                      java.util.List propsToKeep)
Utility method to turn an ERec into a generic HashMap, for use in abstractification. Used by many of the abstractor classes.

Parameters:
rec - ERec that should be turned into a HashMap
context - Context for this request
propsToKeep - List of property/dimension names that should be abstracted. If null/empty, all properties and dimensions are abstracted.

abstractifyDimVal

public static final java.util.HashMap abstractifyDimVal(com.endeca.navigation.DimVal dimVal,
                                                        AbstractionContext context)