public abstract class AbstractArangoQuery extends Object implements RepositoryQuery
Modifier and Type | Field and Description |
---|---|
protected Class<?> |
domainClass |
protected ArangoQueryMethod |
method |
protected ArangoOperations |
operations |
Constructor and Description |
---|
AbstractArangoQuery(ArangoQueryMethod method,
ArangoOperations operations) |
Modifier and Type | Method and Description |
---|---|
protected abstract String |
createQuery(ArangoParameterAccessor accessor,
Map<String,Object> bindVars,
com.arangodb.model.AqlQueryOptions options)
Implementations should create an AQL query with the given
ArangoParameterAccessor and set necessary binding
parameters and query options. |
Object |
execute(Object[] parameters) |
ArangoQueryMethod |
getQueryMethod() |
protected abstract boolean |
isCountQuery() |
protected abstract boolean |
isExistsQuery() |
protected com.arangodb.model.AqlQueryOptions |
mergeQueryOptions(com.arangodb.model.AqlQueryOptions oldStatic,
com.arangodb.model.AqlQueryOptions newDynamic)
Merges AqlQueryOptions derived from @QueryOptions with dynamically passed AqlQueryOptions which takes priority
|
protected final ArangoQueryMethod method
protected final ArangoOperations operations
protected final Class<?> domainClass
public AbstractArangoQuery(ArangoQueryMethod method, ArangoOperations operations)
public Object execute(Object[] parameters)
execute
in interface RepositoryQuery
public ArangoQueryMethod getQueryMethod()
getQueryMethod
in interface RepositoryQuery
protected abstract String createQuery(ArangoParameterAccessor accessor, Map<String,Object> bindVars, com.arangodb.model.AqlQueryOptions options)
ArangoParameterAccessor
and set necessary binding
parameters and query options.accessor
- provides access to the actual argumentsbindVars
- the binding parameter mapoptions
- contains the merged AqlQueryOptions
protected abstract boolean isCountQuery()
protected abstract boolean isExistsQuery()
protected com.arangodb.model.AqlQueryOptions mergeQueryOptions(com.arangodb.model.AqlQueryOptions oldStatic, com.arangodb.model.AqlQueryOptions newDynamic)
oldStatic
- newDynamic
- Copyright © 2017–2020 ArangoDB GmbH. All rights reserved.