com.endeca.portal.data.functions
Class RecordFilter

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

public class RecordFilter
extends QueryFilter

Permits adding a record filter to a QueryState. Currently, only supported on ENE presentation API data sources, not discovery service data sources.

Author:
wfleming
See Also:
Serialized Form

Field Summary
protected  java.lang.String recordFilter
           
 
Fields inherited from class com.endeca.portal.data.functions.QueryFunction
CLASS_PROPERTY, operator
 
Constructor Summary
protected RecordFilter()
           
  RecordFilter(org.json.JSONObject jsonObject)
           
  RecordFilter(java.lang.String recordFilter)
           
  RecordFilter(java.lang.String name, java.lang.String recordFilter)
           
 
Method Summary
 void applyToDiscoveryServiceQuery(com.endeca.mdex.conversation.Request query)
          Apply this function to a Request.
 void applyToENEQuery(com.endeca.navigation.ENEQuery query)
          Apply this function to an ENEQuery.
 java.util.List<java.lang.reflect.Method> getGetters()
          Return the list of property getters on this function.
 java.lang.String getRecordFilter()
           
static java.util.List<RecordFilter> getRecordFilters(com.endeca.mdex.conversation.Request request)
           
static java.util.List<RecordFilter> getRecordFilters(com.endeca.mdex.conversation.Results results)
           
 java.util.List<java.lang.reflect.Method> getSetters()
          Return the list of property setters on this function.
 void setName(java.lang.String name)
          Set the name.
 void setRecordFilter(java.lang.String recordFilter)
           
 java.lang.String toString()
          This class' toString is abstract: all concrete subclasses are expected to provide an implementation. toString is used in comparing QueryFunction instances for equality, so if you implement a QueryFunction subclass it is important that your toString implementation be consistent and deterministic.
 
Methods inherited from class com.endeca.portal.data.functions.QueryFunction
clone, equals, equals, getInstance, getInstance, getName, getOperator, hashCode, init, setOperator, setOperator, toJSON, toXML
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

recordFilter

protected java.lang.String recordFilter
Constructor Detail

RecordFilter

protected RecordFilter()

RecordFilter

public RecordFilter(org.json.JSONObject jsonObject)
             throws org.json.JSONException,
                    java.lang.IllegalArgumentException,
                    java.lang.ClassNotFoundException,
                    java.lang.IllegalAccessException,
                    java.lang.InstantiationException,
                    java.lang.reflect.InvocationTargetException
Throws:
org.json.JSONException
java.lang.IllegalArgumentException
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetException

RecordFilter

public RecordFilter(java.lang.String recordFilter)

RecordFilter

public RecordFilter(java.lang.String name,
                    java.lang.String recordFilter)
Method Detail

getRecordFilter

public java.lang.String getRecordFilter()

setRecordFilter

public void setRecordFilter(java.lang.String recordFilter)

setName

public void setName(java.lang.String name)
Description copied from class: QueryFunction
Set the name.

Overrides:
setName in class QueryFunction
Parameters:
name - the name to set

getSetters

public java.util.List<java.lang.reflect.Method> getSetters()
Description copied from class: QueryFunction
Return the list of property setters on this function. Must be implemented by subclass. Required for correct JSON serialization/deserialization support. For most subclasses, implementing this method should be simple, as long as your setter methods follow standard Java naming conventions (e.g. "setPropertyName(PropertyType)"). All you should need to write is:
 private static List setters = Reflection.getSetters(MyFunctionClass.class);
 \@Override
 public List getSetters() {
        return setters;
 }
 

Specified by:
getSetters in class QueryFunction
Returns:
the list of setters

getGetters

public java.util.List<java.lang.reflect.Method> getGetters()
Description copied from class: QueryFunction
Return the list of property getters on this function. Must be implemented by subclass. Required for correct JSON serialization/deserialization support. For most subclasses, implementing this method should be simple, as long as your getter methods follow standard Java naming conventions (e.g. "getPropertyName()"). All you should need to write is:
 private static List getters = Reflection.getGetters(MyFunctionClass.class);
 \@Override
 public List getGetters() {
        return getters;
 }
 

Specified by:
getGetters in class QueryFunction
Returns:
the list of getters

applyToENEQuery

public void applyToENEQuery(com.endeca.navigation.ENEQuery query)
Description copied from class: QueryFunction
Apply this function to an ENEQuery. Must be implemented by subclass.

Specified by:
applyToENEQuery in class QueryFunction

applyToDiscoveryServiceQuery

public void applyToDiscoveryServiceQuery(com.endeca.mdex.conversation.Request query)
                                  throws QueryFunctionUnsupportedException
Description copied from class: QueryFunction
Apply this function to a Request. Must be implemented by subclass.

Specified by:
applyToDiscoveryServiceQuery in class QueryFunction
Throws:
QueryFunctionUnsupportedException

toString

public java.lang.String toString()
Description copied from class: QueryFunction
This class' toString is abstract: all concrete subclasses are expected to provide an implementation. toString is used in comparing QueryFunction instances for equality, so if you implement a QueryFunction subclass it is important that your toString implementation be consistent and deterministic.

Specified by:
toString in class QueryFunction

getRecordFilters

public static java.util.List<RecordFilter> getRecordFilters(com.endeca.mdex.conversation.Results results)

getRecordFilters

public static java.util.List<RecordFilter> getRecordFilters(com.endeca.mdex.conversation.Request request)