com.endeca.infront.cartridge
Class RefinementMenu

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<String,Object>
          extended by com.endeca.infront.assembler.BasicContentItem
              extended by com.endeca.infront.cartridge.RefinementMenu
All Implemented Interfaces:
ContentItem, Serializable, Cloneable, Map<String,Object>

public class RefinementMenu
extends BasicContentItem

RefinementMenuHandler output model.

A RefinementMenu contains a list of Refinement objects that can be used to make queries to further refine search or navigation results. The order of Refinements is affected by the boost and bury list in RefinementMenuConfig.

Depending on URL parameter and Experience Manager configuration, the list of Refinements contained in a RefinementMenu may be incomplete because each menu may contain too many refinements to be returned in an initial request. The RefinementMenuHandler generates a "showMoreLink" NavigationAction that can be used to retrieve the complete list of available Refinements unless:

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
RefinementMenu(RefinementMenuConfig pConfig)
          Creates the RefinementMenu output model, using the type and data present in the input RefinementMenuConfig.
 
Method Summary
 List<Ancestor> getAncestors()
          Returns the ancestors up to but excluding the Dimension root for this RefinementMenu.
 NavigationAction getCollapseAction()
          Returns the action for collapsing this RefinementMenu.
 String getDimensionName()
          Returns the dimension name associated with this RefinementMenu.
 String getDisplayName()
          Returns the localized display name for the dimension associated with this RefinementMenu.
 NavigationAction getExpandAction()
          Returns the action for expanding this RefinementMenu.
 NavigationAction getLessLink()
          Returns the action for collapsing the RefinementMenu.
 NavigationAction getMoreLink()
          Returns the action for expanding the RefinementMenu.
 List<Refinement> getRefinements()
          Returns the list of refinements.
 JsonAttribute getWhyPrecedenceRuleFired()
          Returns "why precedence rule fired" debug information.
 boolean isMultiSelect()
          Whether this RefinementMenu allows multiple Refinements to be selected at the same time.
 void setAncestors(List<Ancestor> ancestors)
          Sets the ancestors up to but excluding the Dimension root for this RefinementMenu.
 void setCollapseAction(NavigationAction collapseLink)
          Sets the action for collapsing this RefinementMenu.
 void setDimensionName(String dimensionName)
          Sets the dimension name associated with this RefinementMenu.
 void setDisplayName(String displayName)
          Sets the localized display name for the dimension associated with this RefinementMenu.
 void setExpandAction(NavigationAction expandLink)
          Sets the action for expanding this RefinementMenu.
 void setLessLink(NavigationAction lessLink)
          Sets the action for collapsing the RefinementMenu.
 void setMoreLink(NavigationAction moreLink)
          Sets the action for expanding the RefinementMenu.
 void setMultiSelect(boolean multiSelect)
          Sets the multi-select property.
 void setRefinements(List<Refinement> refinements)
          Sets the list of refinements.
 void setWhyPrecedenceRuleFired(JsonAttribute whyTrigger)
          Sets "why precedence rule fired" debug information.
 
Methods inherited from class com.endeca.infront.assembler.BasicContentItem
getBooleanProperty, getIntProperty, getLongProperty, getType, getTypedProperty, setType
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

RefinementMenu

public RefinementMenu(RefinementMenuConfig pConfig)
Creates the RefinementMenu output model, using the type and data present in the input RefinementMenuConfig.

Method Detail

getDimensionName

public String getDimensionName()
Returns the dimension name associated with this RefinementMenu.


setDimensionName

public void setDimensionName(String dimensionName)
Sets the dimension name associated with this RefinementMenu.


getDisplayName

public String getDisplayName()
Returns the localized display name for the dimension associated with this RefinementMenu.


setDisplayName

public void setDisplayName(String displayName)
Sets the localized display name for the dimension associated with this RefinementMenu.


isMultiSelect

public boolean isMultiSelect()
Whether this RefinementMenu allows multiple Refinements to be selected at the same time. If so, refining by a Refinement in this menu will cause more results to be returned when the represented dimension is multi-select-or.

Returns:
Whether this RefinementMenu allows multiple Refinements to be selected at the same time.

setMultiSelect

public void setMultiSelect(boolean multiSelect)
Sets the multi-select property.

See Also:
isMultiSelect()

getAncestors

public List<Ancestor> getAncestors()
Returns the ancestors up to but excluding the Dimension root for this RefinementMenu.

Returns:
a List of ancestors up to but excluding the Dimension root for this RefinementMenu

setAncestors

public void setAncestors(List<Ancestor> ancestors)
Sets the ancestors up to but excluding the Dimension root for this RefinementMenu.


getRefinements

public List<Refinement> getRefinements()
Returns the list of refinements.

Returns:
a List of Refinements in this RefinementMenu.

setRefinements

public void setRefinements(List<Refinement> refinements)
Sets the list of refinements.


getMoreLink

public NavigationAction getMoreLink()
Returns the action for expanding the RefinementMenu. RefinementMenuConfig.getUseShowMoreIdsParam()

Returns:
an action for expanding this RefinementMenu if there are more Refinements to display
See Also:
RefinementMenuConfig.isShowMoreLink(), RefinementMenuConfig.isShowMore()

setMoreLink

public void setMoreLink(NavigationAction moreLink)
Sets the action for expanding the RefinementMenu.


getLessLink

public NavigationAction getLessLink()
Returns the action for collapsing the RefinementMenu.

Returns:
an action for collapse this RefinementMenu if there are Refinements expanding

setLessLink

public void setLessLink(NavigationAction lessLink)
Sets the action for collapsing the RefinementMenu.


getExpandAction

public NavigationAction getExpandAction()
Returns the action for expanding this RefinementMenu.

Returns:
An action for expanding this RefinementMenu.
See Also:
RefinementMenuConfig.getUseShowMoreIdsParam()

setExpandAction

public void setExpandAction(NavigationAction expandLink)
Sets the action for expanding this RefinementMenu.

See Also:
RefinementMenuConfig.getUseShowMoreIdsParam()

getCollapseAction

public NavigationAction getCollapseAction()
Returns the action for collapsing this RefinementMenu.

Returns:
An action for collapsing this RefinementMenu.
See Also:
RefinementMenuConfig.getUseShowMoreIdsParam()

setCollapseAction

public void setCollapseAction(NavigationAction collapseLink)
Sets the action for collapsing this RefinementMenu.

See Also:
RefinementMenuConfig.getUseShowMoreIdsParam()

setWhyPrecedenceRuleFired

public void setWhyPrecedenceRuleFired(JsonAttribute whyTrigger)
Sets "why precedence rule fired" debug information.


getWhyPrecedenceRuleFired

public JsonAttribute getWhyPrecedenceRuleFired()
Returns "why precedence rule fired" debug information. Will be null if the debug property was not enabled.

See Also:
RefinementMenuConfig.setWhyPrecedenceRuleFired(boolean)


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