Package com.attivio.sdk.search.query
Class SubQuery
- java.lang.Object
-
- com.attivio.sdk.search.query.Query
-
- com.attivio.sdk.search.query.SubQuery
-
- All Implemented Interfaces:
QueryParameters,LocaleAware,java.io.Serializable,java.lang.Cloneable
public final class SubQuery extends Query
Query operator that contains subQuery.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.attivio.sdk.search.query.QueryParameters
QueryParameters.Parameter
-
-
Field Summary
Fields Modifier and Type Field Description protected QueryParameters.Parameterparametersprotected QueryqueryThe search query.-
Fields inherited from class com.attivio.sdk.search.query.Query
boost, DEFAULT_PARAMETERS, IGNORE_PARAMETERS
-
Fields inherited from interface com.attivio.sdk.search.query.QueryParameters
ACL, ACRONYMS, ACRONYMS_EXPANDED, ACRONYMS_ORIGINAL, ALIAS, ALLOW, ANONYMOUS, BOOST, BOOST_FREQUENCY, BOOST_POSITION, BOOST_PROXIMITY, COMPLETENESS_BOOST, DEFAULT_BOOST, DEFAULT_DEPTH, DEFAULT_FIELD_NORMS, DEFAULT_FUZZY_MAX_TERMS, DEFAULT_MINIMUM, DEFAULT_QUOTED, DEFAULT_RECURSIVE, DEFAULT_ROLLUP_LIMIT, DEFAULT_SCORE_DEPTH, DEFAULT_SCORE_EXPLAIN, DEFAULT_SEARCH_FIELD, DEFAULT_SIMILARITY, DEFAULT_SPAN, DENY, DEPTH, DISABLE_COORD, DISTANCE, FACET, FIELD_NORMS, FUZZY_MAX_TERMS, INDEX, LANGUAGE, LOWER, METHOD, MINIMUM, ON, ORDER, QUERY, QUERY_LANGUAGE, QUOTED, RECURSIVE, RELEVANCY_MODEL, ROLLUP, SCORE_DEPTH, SCORE_EXPLAIN, SCORE_FUNCTIONS, SCORE_MODE, SIMILARITY, SIMILARITY_PREFIX, SOUNDS_LIKE, SPAN, SPELLCHECK_CORRECTED, SPELLCHECK_EXPANDED, SPELLCHECK_MODE, SPELLCHECK_ORIGINAL, SPELLCHECK_SUGGESTIONS, STOPWORDS, SYNONYMS, SYNONYMS_EXPANDED, SYNONYMS_ORIGINAL, TOKENIZE, UNSECURED_ZONES, UPPER, WARNING, WILDCARD, XON
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidaddParameter(java.lang.StringBuilder buffer, java.lang.String name, java.lang.Object value)Add "\"name\"=\"value\"" tobuffer.protected static voidaddParameterCompact(java.lang.StringBuilder buffer, java.lang.String name, java.lang.Object value)Add "\"name\"=\"value\"" tobuffer, omitting value if it is Boolean.TRUE.protected static voidappendParameter(java.lang.StringBuilder buffer, java.lang.String name, java.lang.Object value)Add ", \"name\"=\"value\"" tobuffer.SubQueryclone()Returns a deep copy of this Query instance.booleancontainsParameter(java.lang.String name)Returns true if the specified parameter exists for this Query object.protected booleanequals(java.lang.Object other, java.util.Map<java.lang.String,java.lang.Object> defaults, java.util.Set<java.lang.String> ignore)Checks whetherqueryequals this Query object.protected static voidescape(java.lang.StringBuilder buffer, java.lang.Object value)protected voidescape(java.lang.StringBuilder buffer, java.lang.String value, boolean quote)Helper method to escape a string for toString() .java.lang.StringgetAlias()Get the alias (if any) for this sub query.QuerygetFirstNode(QueryHandler selector)Get the first query in the tree that hasparameterset tovalue.protected voidgetNodes(java.util.List<Query> nodes, QueryHandler selector)Internal method to collect all nodes that haveparameterset tovalue.java.lang.ObjectgetParameter(java.lang.String name)Returns a named property for this Query object.booleangetParameter(java.lang.String name, boolean defaultValue)Gets a boolean parameter.doublegetParameter(java.lang.String name, double defaultValue)Gets a double parameter.floatgetParameter(java.lang.String name, float defaultValue)Gets a float parameter.intgetParameter(java.lang.String name, int defaultValue)Gets an integer parameter.longgetParameter(java.lang.String name, long defaultValue)Gets a long parameter.java.lang.ObjectgetParameter(java.lang.String name, java.lang.Object defaultValue)Gets a parameter.java.lang.StringgetParameter(java.lang.String name, java.lang.String defaultValue)Gets a String parameter.java.util.List<java.lang.Object>getParameterList(java.lang.String name)Returns list of values found for the named property for this Query object.QuerygetQuery()Get the search query.inthashCode()protected static java.lang.StringBuilderindent(java.lang.StringBuilder buffer, int indent)Support method to indent a "line" in a StringBuilder.protected booleanisAllowNull()Are null sub queries allowed.Queryoptimize()Optimizes this query object, removing unnecessary levels of expressions.java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.Object>>parameters()Get an iterator for returning all custom parameters.protected static intparseIntParameter(java.lang.Object value, int defaultValue)java.lang.StringprettyFormat()Returns a hierarchical representation of this query as a string.protected voidprettyFormat(java.lang.StringBuilder buffer, int indent)Pretty format all parameters for this Query instance.voidprettyPrint()Sends a hierarchical representation of this query to standard out.voidprettyPrint(java.io.PrintStream out)Sends a hierarchical representation of this query specified PrintStream.java.lang.ObjectremoveParameter(java.lang.String name)Remove the value for a parameter for this Query object.Queryrewrite(QueryHandler handler)Recursively rewrite this query usinghandler.voidrewriteChildren(QueryHandler handler)Rewrite child nodes usinghandler.voidsetAlias(java.lang.String alias)Set the alias for this sub query.protected voidsetBooleanParameter(java.lang.String key, java.lang.Object value)Internal method for setting a boolean parameter.protected voidsetEnumParameter(java.lang.String key, java.lang.Object value, java.lang.String... enumValues)Internal method for setting an object parameter.protected voidsetIntegerParameter(java.lang.String key, java.lang.Object value)Internal method for setting an integer parameter.voidsetParameter(java.lang.String key, java.lang.Object value)voidsetParameters(java.util.Map<java.lang.String,java.lang.Object> value)voidsetParameters(java.util.Map<java.lang.String,java.lang.Object> params, boolean override)Copies parameters from a Map into this Query.voidsetQuery(Query value)Set the search query.voidsetQuery(java.lang.String term)Set the search query to be a search forterm.voidsetQueryString(java.lang.String value)Set the source query string used to create this sub query.protected voidsetRollupParameter(java.lang.String key, java.lang.Object value)protected voidsetStringParameter(java.lang.String key, java.lang.Object value)Internal method for setting a string parameter.protected voidsetUnsignedParameter(java.lang.String key, java.lang.Object value)Internal method for setting an integer parameter.java.lang.StringtoString()java.lang.StringtoString(boolean compact)protected voidtoString(java.lang.StringBuilder buffer, boolean compact)Write the String representation of this query tobuffer.-
Methods inherited from class com.attivio.sdk.search.query.Query
addParameter, addParameters, appendParameters, containsParameters, equals, equals, equals, getAllParameters, getBoost, getInternalParameter, getLocale, getNodes, getQueryLanguage, getQueryString, isCompactParameter, prettyFormatParameters, setBoost, setBoost, setLocale, setParameters, setParameters, toCompactString, valueOf
-
-
-
-
Field Detail
-
query
protected Query query
The search query.
-
parameters
protected QueryParameters.Parameter parameters
-
-
Constructor Detail
-
SubQuery
public SubQuery()
Constructor
-
SubQuery
public SubQuery(Query query)
Constructor
-
-
Method Detail
-
setParameter
public void setParameter(java.lang.String key, java.lang.Object value)- Overrides:
setParameterin classQuery
-
setQueryString
public void setQueryString(java.lang.String value)
Set the source query string used to create this sub query.
-
getAlias
public java.lang.String getAlias()
Get the alias (if any) for this sub query.
-
setAlias
public void setAlias(java.lang.String alias)
Set the alias for this sub query.
-
toString
protected void toString(java.lang.StringBuilder buffer, boolean compact)Write the String representation of this query tobuffer.
-
prettyFormat
protected void prettyFormat(java.lang.StringBuilder buffer, int indent)Pretty format all parameters for this Query instance.- Parameters:
buffer- buffer to write pretty formated parameters to.indent- the indentation level
-
hashCode
public int hashCode()
-
equals
protected boolean equals(java.lang.Object other, java.util.Map<java.lang.String,java.lang.Object> defaults, java.util.Set<java.lang.String> ignore)Checks whetherqueryequals this Query object.- Parameters:
other- the query to compare todefaults- map of default values for query parametersignore- set of query parameters to ignore during equality check.- Returns:
- true if other is equal to this Query
-
clone
public SubQuery clone()
Returns a deep copy of this Query instance.NOTE: values for parameters are shallow copied.
- Returns:
- a copy of this Query.
-
isAllowNull
protected boolean isAllowNull()
Are null sub queries allowed.
-
getQuery
public Query getQuery()
Get the search query.
-
setQuery
public void setQuery(Query value)
Set the search query.
-
setQuery
public void setQuery(java.lang.String term)
Set the search query to be a search forterm.
-
optimize
public Query optimize()
Optimizes this query object, removing unnecessary levels of expressions.
-
getFirstNode
public Query getFirstNode(QueryHandler selector)
Get the first query in the tree that hasparameterset tovalue.WARNING: this is an experimental API and may change in the near future.
- Overrides:
getFirstNodein classQuery- Returns:
- the first query in the query tree that matches
selector, ornullif no match found.
-
rewrite
public Query rewrite(QueryHandler handler)
Recursively rewrite this query usinghandler.
-
rewriteChildren
public void rewriteChildren(QueryHandler handler)
Rewrite child nodes usinghandler.- Overrides:
rewriteChildrenin classQuery
-
getNodes
protected void getNodes(java.util.List<Query> nodes, QueryHandler selector)
Internal method to collect all nodes that haveparameterset tovalue.
-
parameters
public java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.Object>> parameters()
Get an iterator for returning all custom parameters.
-
containsParameter
public boolean containsParameter(java.lang.String name)
Returns true if the specified parameter exists for this Query object.- Parameters:
name- parameter name.- Returns:
- true if the specified parameter exists.
-
getParameter
public final java.lang.Object getParameter(java.lang.String name)
Returns a named property for this Query object.- Parameters:
name- parameter name.- Returns:
- the value for the named property (or null if not found)
-
getParameterList
public final java.util.List<java.lang.Object> getParameterList(java.lang.String name)
Returns list of values found for the named property for this Query object.- Parameters:
name- parameter name.- Returns:
- list, which might be empty (but we never return null)
-
getParameter
public final java.lang.String getParameter(java.lang.String name, java.lang.String defaultValue)Gets a String parameter.- Parameters:
name- parameter name.defaultValue- default value to return if not set.
-
getParameter
public final boolean getParameter(java.lang.String name, boolean defaultValue)Gets a boolean parameter.- Parameters:
name- parameter name.defaultValue- default value to return if not set.
-
getParameter
public final int getParameter(java.lang.String name, int defaultValue)Gets an integer parameter.- Parameters:
name- parameter name.defaultValue- default value to return if not set.
-
getParameter
public final long getParameter(java.lang.String name, long defaultValue)Gets a long parameter.- Parameters:
name- parameter name.defaultValue- default value to return if not set.
-
getParameter
public final float getParameter(java.lang.String name, float defaultValue)Gets a float parameter.- Parameters:
name- parameter name.defaultValue- default value to return if not set.
-
getParameter
public final double getParameter(java.lang.String name, double defaultValue)Gets a double parameter.- Parameters:
name- parameter name.defaultValue- default value to return if not set.
-
getParameter
public java.lang.Object getParameter(java.lang.String name, java.lang.Object defaultValue)Gets a parameter.- Parameters:
name- name of parameter to return.defaultValue- default value to return if not set.
-
setParameters
public final void setParameters(java.util.Map<java.lang.String,java.lang.Object> value)
-
setParameters
public void setParameters(java.util.Map<java.lang.String,java.lang.Object> params, boolean override)Copies parameters from a Map into this Query.- Parameters:
params- the parameters to copy into this Query instance.override- indicates if parameters from params should overwrite existing parameters in this Query
-
parseIntParameter
protected static int parseIntParameter(java.lang.Object value, int defaultValue)
-
removeParameter
public java.lang.Object removeParameter(java.lang.String name)
Remove the value for a parameter for this Query object.- Parameters:
name- the parameter to remove.
-
setEnumParameter
protected final void setEnumParameter(java.lang.String key, java.lang.Object value, java.lang.String... enumValues)Internal method for setting an object parameter.NOTE: enumValues must contain lower case strings.
-
setStringParameter
protected final void setStringParameter(java.lang.String key, java.lang.Object value)Internal method for setting a string parameter.
-
setIntegerParameter
protected final void setIntegerParameter(java.lang.String key, java.lang.Object value)Internal method for setting an integer parameter.
-
setUnsignedParameter
protected final void setUnsignedParameter(java.lang.String key, java.lang.Object value)Internal method for setting an integer parameter.
-
setBooleanParameter
protected final void setBooleanParameter(java.lang.String key, java.lang.Object value)Internal method for setting a boolean parameter.
-
setRollupParameter
protected final void setRollupParameter(java.lang.String key, java.lang.Object value)
-
appendParameter
protected static void appendParameter(java.lang.StringBuilder buffer, java.lang.String name, java.lang.Object value)Add ", \"name\"=\"value\"" tobuffer.
-
addParameter
protected static void addParameter(java.lang.StringBuilder buffer, java.lang.String name, java.lang.Object value)Add "\"name\"=\"value\"" tobuffer.
-
addParameterCompact
protected static void addParameterCompact(java.lang.StringBuilder buffer, java.lang.String name, java.lang.Object value)Add "\"name\"=\"value\"" tobuffer, omitting value if it is Boolean.TRUE.
-
escape
protected static void escape(java.lang.StringBuilder buffer, java.lang.Object value)
-
escape
protected void escape(java.lang.StringBuilder buffer, java.lang.String value, boolean quote)Helper method to escape a string for toString() .- Parameters:
buffer- buffer to write escaped value tovalue- the value to escapequote- if true, escaped value will be wrapped in double quotes.
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toString
public final java.lang.String toString(boolean compact)
-
prettyPrint
public final void prettyPrint()
Sends a hierarchical representation of this query to standard out.
-
prettyPrint
public final void prettyPrint(java.io.PrintStream out)
Sends a hierarchical representation of this query specified PrintStream.- Parameters:
out- stream to output query representation to
-
prettyFormat
public final java.lang.String prettyFormat()
Returns a hierarchical representation of this query as a string.
-
indent
protected static java.lang.StringBuilder indent(java.lang.StringBuilder buffer, int indent)Support method to indent a "line" in a StringBuilder.
-
-