com.endeca.portal.data.functions
Class SelectionFilter

java.lang.Object
  extended by com.endeca.portal.data.functions.QueryFunction
      extended by com.endeca.portal.data.functions.QueryFilter
          extended by com.endeca.portal.data.functions.LQLFilter
              extended by com.endeca.portal.data.functions.ArbitraryLQLASTFilter
                  extended by com.endeca.portal.data.functions.SelectionFilter
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class SelectionFilter
extends ArbitraryLQLASTFilter

LQL 2.3-compliant QueryFilter that adds an arbitrary LQL expression to the SelectionFilter of the current QueryState. This QueryFilter stacks with all other QueryFilters; it does not replace any other existing selection filters. Note that the selection filter is applied at the same layer as refinements, not a security filter like old style record filters. This means ALLBASERECORDS will not be limited by this filter, nor will text-search autocorrections. All the string based methods for this return a JSON representation of the filter, not the human readable syntax like you'd expect. For the human readable one, @see StringSelectionFilter

Author:
Endeca Technologies, Inc.
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.endeca.portal.data.functions.ArbitraryLQLASTFilter
expressionString, filterString
 
Fields inherited from class com.endeca.portal.data.functions.QueryFunction
CLASS_PROPERTY
 
Constructor Summary
protected SelectionFilter()
           
  SelectionFilter(com.endeca.mdex.lql_parser.types.ExpressionBase expression)
           
  SelectionFilter(java.lang.String name, com.endeca.mdex.lql_parser.types.ExpressionBase expression)
           
 
Method Summary
 void applyToLQLFilter(LQLFilterCollection exprCollection)
          Adds the LQL filtering clause (aka fragment) produced by this class to the list of all fragments to be applied in order to generate the QueryState.
 
Methods inherited from class com.endeca.portal.data.functions.ArbitraryLQLASTFilter
getExpression, getExpressionString, initializeFromJSON, setExpression, setExpressionString, toString
 
Methods inherited from class com.endeca.portal.data.functions.LQLFilter
applyToDiscoveryServiceQuery
 
Methods inherited from class com.endeca.portal.data.functions.QueryFunction
beforeQueryStateAdd, clone, equals, equals, getName, hashCode, setName
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SelectionFilter

protected SelectionFilter()

SelectionFilter

public SelectionFilter(com.endeca.mdex.lql_parser.types.ExpressionBase expression)

SelectionFilter

public SelectionFilter(java.lang.String name,
                       com.endeca.mdex.lql_parser.types.ExpressionBase expression)
Method Detail

applyToLQLFilter

public void applyToLQLFilter(LQLFilterCollection exprCollection)
                      throws QueryFunctionUnsupportedException
Description copied from class: LQLFilter
Adds the LQL filtering clause (aka fragment) produced by this class to the list of all fragments to be applied in order to generate the QueryState.

Specified by:
applyToLQLFilter in class LQLFilter
Parameters:
exprCollection - the collection of all fragments to be applied
Throws:
QueryFunctionUnsupportedException - if the filter cannot be applied