com.endeca.portal.data.functions
Class DataSourceFilter

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.DataSourceFilter
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class DataSourceFilter
extends ArbitraryLQLASTFilter

LQL 2.3-compliant QueryFilter that adds an arbitrary LQL expression to the DataSourceFilter of the current QueryState. This QueryFilter stacks with all other QueryFilters; it does not replace any other existing data source filters. Note that the data source filter is applied at the same layer as old style record filters/security filters, which is prior to the execution of refinements. This means that ALLBASERECORDS will be limited by this filter, as 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 DataSourceFilter()
           
  DataSourceFilter(com.endeca.mdex.lql_parser.types.ExpressionBase expression)
           
  DataSourceFilter(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

DataSourceFilter

protected DataSourceFilter()

DataSourceFilter

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

DataSourceFilter

public DataSourceFilter(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