Package com.attivio.sdk.search.query
Class AccessControlQuery
- java.lang.Object
-
- com.attivio.sdk.search.query.Query
-
- com.attivio.sdk.search.query.AccessControlQuery
-
- All Implemented Interfaces:
QueryParameters,LocaleAware,java.io.Serializable,java.lang.Cloneable
public class AccessControlQuery extends Query
Query that performs access control filtering of a search query.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAccessControlQuery.MethodRepresents an underlaying implementation to use for evaluating a clause.-
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
-
-
Constructor Summary
Constructors Constructor Description AccessControlQuery()AccessControlQuery(Query query, Query principal)AccessControlQuery(Query query, Query acls, Query principal)
-
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.AccessControlQueryclone()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.StringgetAclField()QuerygetAclQuery()Get the query that will select ACL records.java.lang.StringgetAllowField()java.lang.StringgetAnonymousAcl()Experimental: get acl for "public"/"anonymous" documents.java.lang.StringgetDenyField()QuerygetFirstNode(QueryHandler selector)Get the first query in the tree that hasparameterset tovalue.java.lang.StringgetIdField()Get the key field for joining the search query to the acl query.AccessControlQuery.MethodgetMethod()Get the method for evaluating access control rights.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.QuerygetPrincipalQuery()Get the query that matches principal records.QuerygetQuery()Get the search query.java.util.List<java.lang.String>getUnsecuredZones()Get the names of zones that are not secured.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.voidsetAclField(java.lang.String value)voidsetAclQuery(Query value)Set the query that will select ACL records.voidsetAllowField(java.lang.String value)voidsetAnonymousAcl(java.lang.String value)Experimental: set acl for "public"/"anonymous" documents.protected voidsetBooleanParameter(java.lang.String key, java.lang.Object value)Internal method for setting a boolean parameter.voidsetDenyField(java.lang.String value)protected voidsetEnumParameter(java.lang.String key, java.lang.Object value, java.lang.String... enumValues)Internal method for setting an object parameter.voidsetIdField(java.lang.String value)Set the key field for joining the search query to the acl query.protected voidsetIntegerParameter(java.lang.String key, java.lang.Object value)Internal method for setting an integer parameter.voidsetMethod(AccessControlQuery.Method method)Set the method for evaluating access control rights.voidsetParameter(java.lang.String name, 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.voidsetPrincipalQuery(Query value)Set the query that matches principal recoreds.voidsetQuery(Query value)Set the search query.voidsetQuery(java.lang.String term)Set the search query to be a search forterm.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.voidsetUnsecuredZones(java.lang.String... value)Set the names of zones that are not secured.voidsetUnsecuredZones(java.util.List<java.lang.String> value)Set the names of zones that are not secured.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
-
-
Method Detail
-
setParameter
public void setParameter(java.lang.String name, java.lang.Object value)- Overrides:
setParameterin classQuery
-
getAclQuery
public Query getAclQuery()
Get the query that will select ACL records.
-
setAclQuery
public void setAclQuery(Query value)
Set the query that will select ACL records.
-
getIdField
public java.lang.String getIdField()
Get the key field for joining the search query to the acl query.
-
setIdField
public void setIdField(java.lang.String value)
Set the key field for joining the search query to the acl query.
-
getPrincipalQuery
public Query getPrincipalQuery()
Get the query that matches principal records.
-
setPrincipalQuery
public void setPrincipalQuery(Query value)
Set the query that matches principal recoreds.
-
getAnonymousAcl
public java.lang.String getAnonymousAcl()
Experimental: get acl for "public"/"anonymous" documents.
-
setAnonymousAcl
public void setAnonymousAcl(java.lang.String value)
Experimental: set acl for "public"/"anonymous" documents.
-
getAclField
public java.lang.String getAclField()
-
setAclField
public void setAclField(java.lang.String value)
-
getAllowField
public java.lang.String getAllowField()
-
setAllowField
public void setAllowField(java.lang.String value)
-
getDenyField
public java.lang.String getDenyField()
-
setDenyField
public void setDenyField(java.lang.String value)
-
getMethod
public AccessControlQuery.Method getMethod()
Get the method for evaluating access control rights.
-
setMethod
public void setMethod(AccessControlQuery.Method method)
Set the method for evaluating access control rights.
-
getUnsecuredZones
public java.util.List<java.lang.String> getUnsecuredZones()
Get the names of zones that are not secured.
-
setUnsecuredZones
public void setUnsecuredZones(java.util.List<java.lang.String> value)
Set the names of zones that are not secured.
-
setUnsecuredZones
public void setUnsecuredZones(java.lang.String... value)
Set the names of zones that are not secured.
-
rewrite
public Query rewrite(QueryHandler handler)
Recursively rewrite this query usinghandler.
-
rewriteChildren
public void rewriteChildren(QueryHandler handler)
Rewrite child nodes usinghandler.
-
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.
- Returns:
- the first query in the query tree that matches
selector, ornullif no match found.
-
getNodes
protected void getNodes(java.util.List<Query> nodes, QueryHandler selector)
Internal method to collect all nodes that haveparameterset tovalue.
-
optimize
public Query optimize()
Optimizes this query object, removing unnecessary levels of expressions.- Returns:
- an optimized form of this Query, or null if this Query is a no-op
-
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
-
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
-
hashCode
public int hashCode()
-
clone
public AccessControlQuery 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.
-
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.
-
-