Package org.ametys.cms.search.query
Class StringQuery
- java.lang.Object
-
- org.ametys.cms.search.query.AbstractFieldQuery
-
- org.ametys.cms.search.query.StringQuery
-
- All Implemented Interfaces:
Query
public class StringQuery extends AbstractFieldQuery
Represents aQuery
testing a string field.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ametys.cms.search.query.Query
Query.LogicalOperator, Query.Operator
-
-
Field Summary
Fields Modifier and Type Field Description protected String
_language
The language.protected Query.Operator
_operator
The operator.protected String
_value
The value to test.protected boolean
_valueAlreadyEscaped
true
if the value is already escaped and there is no need to escape again the value duringthe build of the query
.-
Fields inherited from class org.ametys.cms.search.query.AbstractFieldQuery
_fieldPath
-
-
Constructor Summary
Constructors Constructor Description StringQuery(String fieldPath)
Build a StringQuery testing the existence of the field.StringQuery(String fieldPath, String value)
Build a string query.StringQuery(String fieldPath, String value, String language)
Build a string query.StringQuery(String fieldPath, Query.Operator op, String value, String language)
Build a string query.StringQuery(String fieldPath, Query.Operator op, String value, String language, boolean alreadyEscaped)
Build a string query.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static String
_escapeQueryCharsExceptStarsAndWhitespaces(String s)
String
build()
Build the solr query string representing the Query object.static void
checkStringValue(String value)
Ensure that the string value is valid (i.e.boolean
equals(Object obj)
static String
escapeStringValue(String value, Query.Operator operator)
Escape from a string value the characters that can modify the query fieldString
getLanguage()
Get the language.Query.Operator
getOperator()
Get the operator.String
getValue()
Get the value.int
hashCode()
-
Methods inherited from class org.ametys.cms.search.query.AbstractFieldQuery
getFieldPath
-
-
-
-
Field Detail
-
_operator
protected Query.Operator _operator
The operator.
-
_valueAlreadyEscaped
protected boolean _valueAlreadyEscaped
true
if the value is already escaped and there is no need to escape again the value duringthe build of the query
.
-
-
Constructor Detail
-
StringQuery
public StringQuery(String fieldPath)
Build a StringQuery testing the existence of the field.- Parameters:
fieldPath
- the field path
-
StringQuery
public StringQuery(String fieldPath, String value)
Build a string query.- Parameters:
fieldPath
- the field's pathvalue
- the value.
-
StringQuery
public StringQuery(String fieldPath, String value, String language)
Build a string query.- Parameters:
fieldPath
- the field's pathvalue
- the value.language
- the query language (can be null).
-
StringQuery
public StringQuery(String fieldPath, Query.Operator op, String value, String language)
Build a string query.- Parameters:
fieldPath
- the field's pathop
- the operator.value
- the value.language
- the query language (can be null).
-
StringQuery
public StringQuery(String fieldPath, Query.Operator op, String value, String language, boolean alreadyEscaped)
Build a string query.- Parameters:
fieldPath
- the field's pathop
- the operator.value
- the value.language
- the query language (can be null).alreadyEscaped
- true if the value is already escaped and there is no need to escape again the value duringthe build of the query
.
-
-
Method Detail
-
getOperator
public Query.Operator getOperator()
Get the operator.- Returns:
- the operator.
-
getLanguage
public String getLanguage()
Get the language.- Returns:
- the language.
-
build
public String build() throws QuerySyntaxException
Description copied from interface:Query
Build the solr query string representing the Query object.- Returns:
- the solr query string representing the Query object.
- Throws:
QuerySyntaxException
- if the query can't be built because of a syntax error.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classAbstractFieldQuery
-
equals
public boolean equals(Object obj)
- Overrides:
equals
in classAbstractFieldQuery
-
checkStringValue
public static void checkStringValue(String value) throws QuerySyntaxException
Ensure that the string value is valid (i.e. the parentheses are balanced), and throw an exception if it isn't.- Parameters:
value
- the string value to check.- Throws:
QuerySyntaxException
- if the value is invalid.
-
escapeStringValue
public static String escapeStringValue(String value, Query.Operator operator)
Escape from a string value the characters that can modify the query field- Parameters:
value
- the string value.operator
- the operator- Returns:
- the escaped value.
-
_escapeQueryCharsExceptStarsAndWhitespaces
private static String _escapeQueryCharsExceptStarsAndWhitespaces(String s)
-
-