Class NXQLQueryBuilder
java.lang.Object
org.nuxeo.ecm.platform.query.nxql.NXQLQueryBuilder
Helper to generate NXQL queries from XMap descriptors
- Since:
- 5.4
- Author:
- Anahide Tchertchian
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic StringappendClause(String query, String clause) static voidappendStringList(StringBuilder queryBuilder, List<?> listParam, boolean quoteParameters, boolean escape) protected static StringatomicQueryElement(DocumentModel model, PredicateDefinition predicateDescriptor, Escaper escaper) static StringbuildPattern(String string, String key, String replacement) static BooleangetBooleanValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) protected static DateFormatstatic StringgetFieldType(DocumentModel model, PredicateFieldDefinition fieldDescriptor) static IntegergetIntValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) getListValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) protected static StringgetParameterWithHint(String operator, String parameter, String hint) static StringgetPlainStringValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) static StringgetQuery(String pattern, Object[] params, boolean quoteParameters, boolean escape, DocumentModel searchDocumentModel, SortInfo... sortInfos) static StringgetQuery(DocumentModel model, WhereClauseDefinition whereClause, Object[] params, SortInfo... sortInfos) static StringgetQuery(DocumentModel model, WhereClauseDefinition whereClause, String quickFiltersClause, Object[] params, SortInfo... sortInfos) static StringgetQueryElement(DocumentModel model, PredicateDefinition predicateDescriptor, Escaper escaper) static StringgetQueryElement(DocumentModel model, WhereClauseDefinition whereClause, Object[] params) static StringgetQueryElement(DocumentModel model, WhereClauseDefinition whereClause, String quickFiltersClause, Object[] params) static ObjectgetRawValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) static StringgetSortClause(SortInfo... sortInfos) static StringgetStringValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) static StringprepareStringLiteral(String s, boolean quoteParameter, boolean escape) Return the string literal in a form ready to embed in an NXQL statement.static StringreplaceStringList(String pattern, List<?> listParams, boolean quoteParameters, boolean escape, String key) static StringsanitizeFulltextInput(String value) Remove any special character that could be mis-interpreted as a low level full-text query operator.static StringserializeFullText(String value) protected static StringserializeUnary(String parameter, String operator, String rvalue) protected static StringsubClauseQueryElement(DocumentModel model, PredicateDefinition predicateDescriptor)
-
Field Details
-
DEFAULT_SELECT_STATEMENT
- See Also:
-
SORTED_COLUMN
- See Also:
-
REGEXP_NAMED_PARAMETER
- See Also:
-
REGEXP_EXCLUDE_QUOTE
- See Also:
-
REGEXP_EXCLUDE_DOUBLE_QUOTE
- See Also:
-
DEFAULT_SPECIAL_CHARACTERS_REGEXP
- See Also:
-
IGNORED_CHARS_KEY
- See Also:
-
-
Method Details
-
getSortClause
- Returns:
- the built sort clause from input parameters, always non null
-
getQuery
public static String getQuery(DocumentModel model, WhereClauseDefinition whereClause, Object[] params, SortInfo... sortInfos) -
getQuery
public static String getQuery(DocumentModel model, WhereClauseDefinition whereClause, String quickFiltersClause, Object[] params, SortInfo... sortInfos) - Since:
- 8.4
-
getQueryElement
public static String getQueryElement(DocumentModel model, WhereClauseDefinition whereClause, Object[] params) -
getQueryElement
public static String getQueryElement(DocumentModel model, WhereClauseDefinition whereClause, String quickFiltersClause, Object[] params) - Since:
- 8.4
-
getQuery
public static String getQuery(String pattern, Object[] params, boolean quoteParameters, boolean escape, DocumentModel searchDocumentModel, SortInfo... sortInfos) -
appendStringList
public static void appendStringList(StringBuilder queryBuilder, List<?> listParam, boolean quoteParameters, boolean escape) -
replaceStringList
-
prepareStringLiteral
Return the string literal in a form ready to embed in an NXQL statement. -
getQueryElement
public static String getQueryElement(DocumentModel model, PredicateDefinition predicateDescriptor, Escaper escaper) -
subClauseQueryElement
protected static String subClauseQueryElement(DocumentModel model, PredicateDefinition predicateDescriptor) -
atomicQueryElement
protected static String atomicQueryElement(DocumentModel model, PredicateDefinition predicateDescriptor, Escaper escaper) -
getParameterWithHint
-
sanitizeFulltextInput
Remove any special character that could be mis-interpreted as a low level full-text query operator. This method should be used by user facing callers of CoreQuery*PageProviders that use a fixed part or a pattern query. Fields in where clause already dealt with.- Returns:
- sanitized text value
- Since:
- 5.6
-
serializeFullText
-
serializeUnary
-
getPlainStringValue
public static String getPlainStringValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) -
getIntValue
-
getFieldType
-
getRawValue
-
getStringValue
-
getDateFormat
-
getListValue
public static List<String> getListValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) -
getBooleanValue
public static Boolean getBooleanValue(DocumentModel model, PredicateFieldDefinition fieldDescriptor) -
appendClause
- Since:
- 8.4
-
buildPattern
- Since:
- 8.4
-