Package io.micronaut.coherence.data.ops
Class DefaultCoherenceRepositoryOperations
- java.lang.Object
-
- io.micronaut.coherence.data.ops.DefaultCoherenceRepositoryOperations
-
- All Implemented Interfaces:
CoherenceRepositoryOperations
,io.micronaut.context.ApplicationContextProvider
,io.micronaut.data.operations.async.AsyncCapableRepository
,io.micronaut.data.operations.HintsCapableRepository
,io.micronaut.data.operations.RepositoryOperations
@EachProperty("coherence.data") public class DefaultCoherenceRepositoryOperations extends java.lang.Object implements CoherenceRepositoryOperations
ARepositoryOperations
implementation for Coherence.
-
-
Constructor Summary
Constructors Constructor Description DefaultCoherenceRepositoryOperations(java.lang.String mapName, io.micronaut.context.ApplicationContext applicationContext, io.micronaut.context.BeanContext beanContext)
Constructs a new operations instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.micronaut.data.operations.async.AsyncRepositoryOperations
async()
<T> long
count(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)
protected java.util.Map<java.lang.String,java.lang.Object>
createBindingMap(io.micronaut.data.model.runtime.PreparedQuery preparedQuery)
Creates a map of binding parameters names and their values.<T> int
delete(io.micronaut.data.model.runtime.DeleteOperation<T> operation)
<T> java.util.Optional<java.lang.Number>
deleteAll(io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation)
protected com.tangosol.net.Session
ensureSession()
Return theSession
that should be used by thisrepository
.java.util.Optional<java.lang.Number>
executeUpdate(io.micronaut.data.model.runtime.PreparedQuery<?,java.lang.Number> preparedQuery)
<T> boolean
exists(io.micronaut.data.model.runtime.PreparedQuery<T,java.lang.Boolean> preparedQuery)
<T> java.lang.Iterable<T>
findAll(io.micronaut.data.model.runtime.PagedQuery<T> query)
<T,R>
java.lang.Iterable<R>findAll(io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
<T,R>
RfindOne(io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
<T> T
findOne(java.lang.Class<T> type, java.io.Serializable id)
<R> io.micronaut.data.model.Page<R>
findPage(io.micronaut.data.model.runtime.PagedQuery<R> query)
<T> java.util.stream.Stream<T>
findStream(io.micronaut.data.model.runtime.PagedQuery<T> query)
<T,R>
java.util.stream.Stream<R>findStream(io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
io.micronaut.context.ApplicationContext
getApplicationContext()
<ID,T>
IDgetId(T entity)
Return the id associated with the specified entity.<ID,T>
com.tangosol.net.NamedMap<ID,T>getNamedMap()
Obtain theNamedMap
associated with thisrepository
.protected void
logQuery(com.tangosol.coherence.dslquery.ExecutionContext ctx, com.tangosol.coherence.dslquery.Statement statement, java.lang.String query, java.util.Map<java.lang.String,java.lang.Object> bindingParams)
Logs the specified query and binding parameters.<T> T
persist(io.micronaut.data.model.runtime.InsertOperation<T> operation)
<T> java.lang.Iterable<T>
persistAll(io.micronaut.data.model.runtime.InsertBatchOperation<T> operation)
protected <T> java.lang.String
replaceTarget(java.lang.String query, java.lang.Class<? extends T> entityClass)
Replaces the generated target of the statement with the nameNamedMap
associated with thisRepositoryOperations
instance.protected void
setSession(java.lang.String sessionName)
Configure the name of theSession
.<T> T
update(io.micronaut.data.model.runtime.UpdateOperation<T> operation)
-
-
-
Constructor Detail
-
DefaultCoherenceRepositoryOperations
public DefaultCoherenceRepositoryOperations(@Parameter java.lang.String mapName, io.micronaut.context.ApplicationContext applicationContext, io.micronaut.context.BeanContext beanContext)
Constructs a new operations instance.- Parameters:
mapName
- the name of theNamedMap
(from configuration)applicationContext
- theApplicationContext
beanContext
- theBeanContext
used to look up aSession
instance
-
-
Method Detail
-
getApplicationContext
public io.micronaut.context.ApplicationContext getApplicationContext()
- Specified by:
getApplicationContext
in interfaceio.micronaut.context.ApplicationContextProvider
-
getNamedMap
public <ID,T> com.tangosol.net.NamedMap<ID,T> getNamedMap()
Description copied from interface:CoherenceRepositoryOperations
Obtain theNamedMap
associated with thisrepository
.- Specified by:
getNamedMap
in interfaceCoherenceRepositoryOperations
- Type Parameters:
ID
- the type of the entity idT
- the entity type- Returns:
- the
NamedMap
associated this thisrepository
-
getId
public <ID,T> ID getId(T entity)
Description copied from interface:CoherenceRepositoryOperations
Return the id associated with the specified entity.- Specified by:
getId
in interfaceCoherenceRepositoryOperations
- Type Parameters:
ID
- the type of the entity idT
- the entity type- Parameters:
entity
- the entity to interrogate- Returns:
- the id associated with the specified entity
-
setSession
protected void setSession(java.lang.String sessionName)
Configure the name of theSession
. This is called during configuration.- Parameters:
sessionName
- the name of theSession
-
async
@NonNull public io.micronaut.data.operations.async.AsyncRepositoryOperations async()
- Specified by:
async
in interfaceio.micronaut.data.operations.async.AsyncCapableRepository
-
findOne
@Nullable public <T> T findOne(@NonNull java.lang.Class<T> type, @NonNull java.io.Serializable id)
- Specified by:
findOne
in interfaceio.micronaut.data.operations.RepositoryOperations
-
findOne
@Nullable public <T,R> R findOne(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
- Specified by:
findOne
in interfaceio.micronaut.data.operations.RepositoryOperations
-
exists
public <T> boolean exists(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,java.lang.Boolean> preparedQuery)
- Specified by:
exists
in interfaceio.micronaut.data.operations.RepositoryOperations
-
findAll
@NonNull public <T> java.lang.Iterable<T> findAll(@NonNull io.micronaut.data.model.runtime.PagedQuery<T> query)
- Specified by:
findAll
in interfaceio.micronaut.data.operations.RepositoryOperations
-
count
public <T> long count(io.micronaut.data.model.runtime.PagedQuery<T> pagedQuery)
- Specified by:
count
in interfaceio.micronaut.data.operations.RepositoryOperations
-
findAll
@NonNull public <T,R> java.lang.Iterable<R> findAll(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
- Specified by:
findAll
in interfaceio.micronaut.data.operations.RepositoryOperations
-
findStream
@NonNull public <T,R> java.util.stream.Stream<R> findStream(@NonNull io.micronaut.data.model.runtime.PreparedQuery<T,R> preparedQuery)
- Specified by:
findStream
in interfaceio.micronaut.data.operations.RepositoryOperations
-
findStream
@NonNull public <T> java.util.stream.Stream<T> findStream(@NonNull io.micronaut.data.model.runtime.PagedQuery<T> query)
- Specified by:
findStream
in interfaceio.micronaut.data.operations.RepositoryOperations
-
findPage
public <R> io.micronaut.data.model.Page<R> findPage(@NonNull io.micronaut.data.model.runtime.PagedQuery<R> query)
- Specified by:
findPage
in interfaceio.micronaut.data.operations.RepositoryOperations
-
persist
@NonNull public <T> T persist(@NonNull io.micronaut.data.model.runtime.InsertOperation<T> operation)
- Specified by:
persist
in interfaceio.micronaut.data.operations.RepositoryOperations
-
update
@NonNull public <T> T update(@NonNull io.micronaut.data.model.runtime.UpdateOperation<T> operation)
- Specified by:
update
in interfaceio.micronaut.data.operations.RepositoryOperations
-
executeUpdate
@NonNull public java.util.Optional<java.lang.Number> executeUpdate(@NonNull io.micronaut.data.model.runtime.PreparedQuery<?,java.lang.Number> preparedQuery)
- Specified by:
executeUpdate
in interfaceio.micronaut.data.operations.RepositoryOperations
-
deleteAll
public <T> java.util.Optional<java.lang.Number> deleteAll(@NonNull io.micronaut.data.model.runtime.DeleteBatchOperation<T> operation)
- Specified by:
deleteAll
in interfaceio.micronaut.data.operations.RepositoryOperations
-
delete
public <T> int delete(@NonNull io.micronaut.data.model.runtime.DeleteOperation<T> operation)
- Specified by:
delete
in interfaceio.micronaut.data.operations.RepositoryOperations
-
persistAll
@NonNull public <T> java.lang.Iterable<T> persistAll(@NonNull io.micronaut.data.model.runtime.InsertBatchOperation<T> operation)
- Specified by:
persistAll
in interfaceio.micronaut.data.operations.RepositoryOperations
-
ensureSession
protected com.tangosol.net.Session ensureSession()
Return theSession
that should be used by thisrepository
.- Returns:
- return the
Session
that should be used by thisrepository
-
replaceTarget
protected <T> java.lang.String replaceTarget(java.lang.String query, java.lang.Class<? extends T> entityClass)
Replaces the generated target of the statement with the nameNamedMap
associated with thisRepositoryOperations
instance.- Type Parameters:
T
- the entity type- Parameters:
query
- the query as provided by MicronautentityClass
- the entity type- Returns:
- the modified query
-
createBindingMap
protected java.util.Map<java.lang.String,java.lang.Object> createBindingMap(io.micronaut.data.model.runtime.PreparedQuery preparedQuery)
Creates a map of binding parameters names and their values.- Parameters:
preparedQuery
- thePreparedQuery
to build the binding map from- Returns:
- the parameters necessary to execute a CohQL statement
-
logQuery
protected void logQuery(com.tangosol.coherence.dslquery.ExecutionContext ctx, com.tangosol.coherence.dslquery.Statement statement, java.lang.String query, java.util.Map<java.lang.String,java.lang.Object> bindingParams)
Logs the specified query and binding parameters.- Parameters:
ctx
- theExecutionContext
statement
- theStatement
query
- the querybindingParams
- the binding parameters
-
-