Class ElasticDocQueryContext
- java.lang.Object
-
- io.ebeanservice.elastic.querywriter.ElasticDocQueryContext
-
- All Implemented Interfaces:
io.ebeaninternal.server.expression.DocQueryContext
public class ElasticDocQueryContext extends Object implements io.ebeaninternal.server.expression.DocQueryContext
Context for writing elastic search expressions.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StringasJson(ElasticJsonContext context, io.ebeaninternal.api.SpiQuery<?> query)Return the query in ElasticSearch JSON form.voidendBool()Write the end of a Bool expression list.voidendBoolGroup()Write the end of a Bool expression list.voidendBoolGroupList()voidendNested()voidendNot()Stringflush()Flush the JsonGenerator buffer.io.ebean.plugin.ExpressionPathgetExpressionPath(String propName)voidstartBool(io.ebean.Junction.Type type)Start Bool expression.voidstartBoolGroup()Start a Bool which could contain a MUST, SHOULD or MUST_NOT.voidstartBoolGroupList(io.ebean.Junction.Type type)voidstartBoolMust()Start Bool MUST.voidstartBoolMustNot()Start Bool MUST_NOT.voidstartNested(String nestedPath)Start a nested path filter.voidstartNot()voidwriteAllEquals(Map<String,Object> propMap)voidwriteEqualTo(String propertyName, Object value)Write a term expression.voidwriteExists(boolean notNull, String propertyName)Write an exists expression.voidwriteId(Object value)Write an Id expression.voidwriteIds(Collection<?> idList)Write an Ids expression.voidwriteIEqualTo(String propName, String value)Write case-insensitive equal to.voidwriteIn(String propertyName, Object[] values, boolean not)Write a terms expression.voidwriteLike(String propName, String val, io.ebean.LikeType type, boolean caseInsensitive)voidwriteMatch(String propertyName, String value, io.ebean.search.Match options)Write a prefix expression.voidwriteMultiMatch(String search, io.ebean.search.MultiMatch options)<T> voidwriteOrderBy(io.ebean.OrderBy<T> orderBy)Write the query sort.voidwriteRange(String propertyName, io.ebeaninternal.server.expression.Op lowOp, Object valueLow, io.ebeaninternal.server.expression.Op highOp, Object valueHigh)Write a range expression with a low and high value.voidwriteRange(String propertyName, String rangeType, Object value)Write a range expression with a single value.voidwriteRaw(String raw, Object[] values)Write raw JSON to the query buffer.voidwriteSimple(io.ebeaninternal.server.expression.Op type, String propertyName, Object value)Write an expression for the core operations.voidwriteTextCommonTerms(String search, io.ebean.search.TextCommonTerms options)voidwriteTextQueryString(String search, io.ebean.search.TextQueryString options)voidwriteTextSimple(String search, io.ebean.search.TextSimple options)
-
-
-
Method Detail
-
asJson
public static String asJson(ElasticJsonContext context, io.ebeaninternal.api.SpiQuery<?> query)
Return the query in ElasticSearch JSON form.
-
getExpressionPath
public io.ebean.plugin.ExpressionPath getExpressionPath(String propName)
- Specified by:
getExpressionPathin interfaceio.ebeaninternal.server.expression.DocQueryContext
-
flush
public String flush() throws IOException
Flush the JsonGenerator buffer.- Throws:
IOException
-
startBool
public void startBool(io.ebean.Junction.Type type) throws IOException
Start Bool expression.- Specified by:
startBoolin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
startBoolMust
public void startBoolMust() throws IOException
Start Bool MUST.- Specified by:
startBoolMustin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
startBoolMustNot
public void startBoolMustNot() throws IOException
Start Bool MUST_NOT.- Specified by:
startBoolMustNotin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
startBoolGroup
public void startBoolGroup() throws IOException
Start a Bool which could contain a MUST, SHOULD or MUST_NOT.- Specified by:
startBoolGroupin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
startBoolGroupList
public void startBoolGroupList(io.ebean.Junction.Type type) throws IOException
- Specified by:
startBoolGroupListin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
endBoolGroupList
public void endBoolGroupList() throws IOException
- Specified by:
endBoolGroupListin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
endBoolGroup
public void endBoolGroup() throws IOException
Write the end of a Bool expression list.- Specified by:
endBoolGroupin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
endBool
public void endBool() throws IOException
Write the end of a Bool expression list.- Specified by:
endBoolin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeAllEquals
public void writeAllEquals(Map<String,Object> propMap) throws IOException
- Specified by:
writeAllEqualsin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeLike
public void writeLike(String propName, String val, io.ebean.LikeType type, boolean caseInsensitive) throws IOException
- Specified by:
writeLikein interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeEqualTo
public void writeEqualTo(String propertyName, Object value) throws IOException
Write a term expression.- Specified by:
writeEqualToin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeRange
public void writeRange(String propertyName, String rangeType, Object value) throws IOException
Write a range expression with a single value.- Specified by:
writeRangein interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeRange
public void writeRange(String propertyName, io.ebeaninternal.server.expression.Op lowOp, Object valueLow, io.ebeaninternal.server.expression.Op highOp, Object valueHigh) throws IOException
Write a range expression with a low and high value.- Specified by:
writeRangein interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeIn
public void writeIn(String propertyName, Object[] values, boolean not) throws IOException
Write a terms expression.- Specified by:
writeInin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeIds
public void writeIds(Collection<?> idList) throws IOException
Write an Ids expression.- Specified by:
writeIdsin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeId
public void writeId(Object value) throws IOException
Write an Id expression.- Specified by:
writeIdin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeIEqualTo
public void writeIEqualTo(String propName, String value) throws IOException
Write case-insensitive equal to.- Specified by:
writeIEqualToin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeMatch
public void writeMatch(String propertyName, String value, io.ebean.search.Match options) throws IOException
Write a prefix expression.- Specified by:
writeMatchin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeMultiMatch
public void writeMultiMatch(String search, io.ebean.search.MultiMatch options) throws IOException
- Specified by:
writeMultiMatchin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeTextSimple
public void writeTextSimple(String search, io.ebean.search.TextSimple options) throws IOException
- Specified by:
writeTextSimplein interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeTextCommonTerms
public void writeTextCommonTerms(String search, io.ebean.search.TextCommonTerms options) throws IOException
- Specified by:
writeTextCommonTermsin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeTextQueryString
public void writeTextQueryString(String search, io.ebean.search.TextQueryString options) throws IOException
- Specified by:
writeTextQueryStringin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeRaw
public void writeRaw(String raw, Object[] values) throws IOException
Write raw JSON to the query buffer.- Specified by:
writeRawin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeExists
public void writeExists(boolean notNull, String propertyName) throws IOException
Write an exists expression.- Specified by:
writeExistsin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeSimple
public void writeSimple(io.ebeaninternal.server.expression.Op type, String propertyName, Object value) throws IOException
Write an expression for the core operations.- Specified by:
writeSimplein interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
writeOrderBy
public <T> void writeOrderBy(io.ebean.OrderBy<T> orderBy) throws IOException
Write the query sort.- Throws:
IOException
-
startNested
public void startNested(String nestedPath) throws IOException
Start a nested path filter.- Specified by:
startNestedin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
endNested
public void endNested() throws IOException
- Specified by:
endNestedin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
startNot
public void startNot() throws IOException
- Specified by:
startNotin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
endNot
public void endNot() throws IOException
- Specified by:
endNotin interfaceio.ebeaninternal.server.expression.DocQueryContext- Throws:
IOException
-
-