Package io.micronaut.coherence.data
Class AbstractCoherenceAsyncRepository<T,ID>
java.lang.Object
com.oracle.coherence.repository.AbstractRepositoryBase<ID,T,com.tangosol.net.AsyncNamedMap<ID,T>>
com.oracle.coherence.repository.AbstractAsyncRepository<ID,T>
io.micronaut.coherence.data.AbstractCoherenceAsyncRepository<T,ID>
- Type Parameters:
ID
- the ID typeT
- the entity type
- All Implemented Interfaces:
io.micronaut.data.repository.GenericRepository<T,
ID>
public abstract class AbstractCoherenceAsyncRepository<T,ID>
extends com.oracle.coherence.repository.AbstractAsyncRepository<ID,T>
implements io.micronaut.data.repository.GenericRepository<T,ID>
While it's possible to annotate a simple
AsyncCrudRepository
with
CoherenceRepository
and use Coherence as a backend cache. However,
to take full advantage of the feature set Coherence has to offer, it is recommended extending this class. This
will give you all the features as documented in AbstractAsyncRepository
.
Any class extending this class must be declared abstract and cannot implement any of
the Micronaut repository types due to overlap in methods between those interface methods and those provided
by AbstractAsyncRepository
.
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetEntityTypeInternal
(T entity) This is in place to prevent Micronaut from scanning further up the inheritance tree and trying to mapAbstractRepositoryBase.getEntityType()
and failing.protected ID
protected abstract ID
getIdInternal
(T entity) This is in place to prevent Micronaut from scanning further up the inheritance tree and trying to mapAbstractRepositoryBase.getId(Object)
and failing.getMap()
This is in place to prevent Micronaut from scanning further up the inheritance tree and trying to mapAbstractRepositoryBase.getMap()
and failing.Methods inherited from class com.oracle.coherence.repository.AbstractAsyncRepository
average, average, average, average, average, average, average, average, count, count, distinct, distinct, exists, get, get, getAll, getAll, getAll, getAll, getAll, getAll, getAll, getAll, getAll, getAll, getAll, getAll, getAllOrderedBy, getAllOrderedBy, getAllOrderedBy, getAllOrderedBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, max, max, max, max, max, max, max, max, max, max, maxBy, maxBy, min, min, min, min, min, min, min, min, min, min, minBy, minBy, remove, removeAll, removeAll, removeAll, removeAll, removeAll, removeAll, removeAllById, removeAllById, removeById, removeById, saveAll, saveAll, sum, sum, sum, sum, sum, sum, sum, sum, top, top, top, top, topBy, topBy, topBy, topBy, update, update, update, update, update, update, updateAll, updateAll, updateAll
Methods inherited from class com.oracle.coherence.repository.AbstractRepositoryBase
addListener, addListener, addListener, createIndices, ensureInitialized, instantiateMapListener, listener, removeListener, removeListener, removeListener
-
Constructor Details
-
AbstractCoherenceAsyncRepository
public AbstractCoherenceAsyncRepository()
-
-
Method Details
-
getMap
-
getId
-
getEntityType
-
save
-
remove
-
getIdInternal
This is in place to prevent Micronaut from scanning further up the inheritance tree and trying to mapAbstractRepositoryBase.getId(Object)
and failing.Called only by
getId(Object)
.- Parameters:
entity
- the entity- Returns:
- the ID of the provided entity
-
getMapInternal
This is in place to prevent Micronaut from scanning further up the inheritance tree and trying to mapAbstractRepositoryBase.getMap()
and failing.Called only by
getId(Object)
.- Returns:
- the
AsyncNamedMap
for thisrepository
-
getEntityTypeInternal
This is in place to prevent Micronaut from scanning further up the inheritance tree and trying to mapAbstractRepositoryBase.getEntityType()
and failing.Note: the value passed to this may always be
null
. We don't care about the value as due to how the Coherence API is defined, there can never be a value. However, we can rely on compile type information generated by Micronaut for this intercepted method and use that metadata to return the entity type.Called only by
getEntityType()
.- Parameters:
entity
- the entity- Returns:
- the
Class
representing the entity type handled by thisrepository
.
-