Package com.attivio.util.query
Class QueryTraverser
- java.lang.Object
-
- com.attivio.util.query.QueryTraverser
-
- All Implemented Interfaces:
LocaleAware
public abstract class QueryTraverser extends java.lang.Object implements LocaleAware
Abstract base class for a query traverser that maintains tree state during traversal.NOTE: This class is not thread safe.
-
-
Constructor Summary
Constructors Constructor Description QueryTraverser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.LocalegetDefaultLocale()Get the default locale to return forgetLocale().java.util.LocalegetLocale()Gets the local associated with this object or null if not set.java.lang.ObjectgetParameter(java.lang.String name)Gets a named property from the query.booleangetParameter(java.lang.String name, boolean defaultValue)Gets the boolean property for this QueryStack.doublegetParameter(java.lang.String name, double defaultValue)Gets a named double property for this QueryStack.floatgetParameter(java.lang.String name, float defaultValue)Gets a named float property for this QueryStack.intgetParameter(java.lang.String name, int defaultValue)Gets a named integer property for this QueryStack.java.lang.ObjectgetParameter(java.lang.String name, java.lang.Object defaultValue)Gets a parameter for this QueryStack.java.lang.StringgetParameter(java.lang.String name, java.lang.String defaultValue)Gets a named String property for this QueryStack.java.util.LocalegetParameter(java.lang.String name, java.util.Locale defaultValue)Gets a named Locale property for this QueryStack.booleanisExcluded()Returns true if the number of containing NOT operators is odd.voidrewrite(FieldExpression field)Recursively rewrite any queries infield.voidrewrite(FieldExpression... fields)Recursively rewrite any queries infields.Queryrewrite(Query query)Recursively rewritequery.voidrewrite(java.util.List<Query> queries)voidrewriteAll(QueryRequest request)Recursively rewrite all queries inrequestusing this traverser.protected QueryrewriteChildren(Query query, QueryHandler defaultHandler)Called to recursively rewrite children ofquery.voidrewriteFacet(FacetRequest facet)voidrewriteFacets(java.util.Collection<FacetRequest> facets)Rewrite any embedded queries infacetsusinghandler.voidrewriteFieldRequest(FieldRequest field)voidrewriteFilters(QueryRequest request)Recursively rewrite all filter queries inrequestusing this traverser.protected QueryrewriteQuery(Query query)Callback method called prior to traversing the children ofquery.protected QueryrewriteTree(Query query, QueryHandler defaultHandler)Called to recursively rewrite a top levelquery.voidsetLocale(java.util.Locale locale)Sets the local associated with this object.
-
-
-
Method Detail
-
isExcluded
public boolean isExcluded()
Returns true if the number of containing NOT operators is odd.
-
getParameter
public java.lang.Object getParameter(java.lang.String name)
Gets a named property from the query.
-
getParameter
public java.lang.String getParameter(java.lang.String name, java.lang.String defaultValue)Gets a named String property for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or the defaultValue if not found
-
getParameter
public float getParameter(java.lang.String name, float defaultValue)Gets a named float property for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or the defaultValue if not found
-
getParameter
public java.util.Locale getParameter(java.lang.String name, java.util.Locale defaultValue)Gets a named Locale property for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or the defaultValue if not found/cannot parse
-
getParameter
public double getParameter(java.lang.String name, double defaultValue)Gets a named double property for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or the defaultValue if not found
-
getParameter
public int getParameter(java.lang.String name, int defaultValue)Gets a named integer property for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or the defaultValue if not found
-
getParameter
public boolean getParameter(java.lang.String name, boolean defaultValue)Gets the boolean property for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or the defaultValue if not found
-
getParameter
public java.lang.Object getParameter(java.lang.String name, java.lang.Object defaultValue)Gets a parameter for this QueryStack.- Parameters:
name- the parameterdefaultValue- the default value- Returns:
- the parameter or default value if not found
-
getLocale
public java.util.Locale getLocale()
Gets the local associated with this object or null if not set.- Specified by:
getLocalein interfaceLocaleAware
-
getDefaultLocale
protected java.util.Locale getDefaultLocale()
Get the default locale to return forgetLocale().
-
setLocale
public void setLocale(java.util.Locale locale)
Sets the local associated with this object.- Specified by:
setLocalein interfaceLocaleAware
-
rewriteFieldRequest
public final void rewriteFieldRequest(FieldRequest field)
-
rewrite
public final void rewrite(FieldExpression field)
Recursively rewrite any queries infield.
-
rewriteAll
public final void rewriteAll(QueryRequest request)
Recursively rewrite all queries inrequestusing this traverser.WARNING: do not use this method unless you are sure you want to modify absolutely all queries in
request.This method rewrites all queries in:
QueryRequest.getQuery(),QueryRequest.getBoostQueries(),QueryRequest.getFilters(),QueryRequest.getFields(),QueryRequest.getFacets().
-
rewriteFilters
public final void rewriteFilters(QueryRequest request)
Recursively rewrite all filter queries inrequestusing this traverser.This method rewrites all queries in:
QueryRequest.getFilters(),QueryRequest.getFacets().
-
rewrite
public final void rewrite(java.util.List<Query> queries)
-
rewrite
public final void rewrite(FieldExpression... fields)
Recursively rewrite any queries infields.
-
rewriteFacets
public final void rewriteFacets(java.util.Collection<FacetRequest> facets)
Rewrite any embedded queries infacetsusinghandler.
-
rewriteFacet
public final void rewriteFacet(FacetRequest facet)
-
rewriteQuery
protected Query rewriteQuery(Query query)
Callback method called prior to traversing the children ofquery.
-
rewriteTree
protected Query rewriteTree(Query query, QueryHandler defaultHandler)
Called to recursively rewrite a top levelquery.
-
rewriteChildren
protected Query rewriteChildren(Query query, QueryHandler defaultHandler)
Called to recursively rewrite children ofquery.Override this method to provide custom traversal of children.
-
-