Package io.micronaut.coherence.data
Class AbstractCoherenceRepository<T,ID>
java.lang.Object
com.oracle.coherence.repository.AbstractRepositoryBase<ID,T,com.tangosol.net.NamedMap<ID,T>>
com.oracle.coherence.repository.AbstractRepository<ID,T>
io.micronaut.coherence.data.AbstractCoherenceRepository<T,ID>
- Type Parameters:
ID
- the ID typeT
- the entity type
- All Implemented Interfaces:
io.micronaut.data.repository.GenericRepository<T,
ID>
public abstract class AbstractCoherenceRepository<T,ID>
extends com.oracle.coherence.repository.AbstractRepository<ID,T>
implements io.micronaut.data.repository.GenericRepository<T,ID>
While it's possible to annotate a simple
CrudRepository
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 AbstractRepository
.
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 AbstractRepository
.
-
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.boolean
Methods inherited from class com.oracle.coherence.repository.AbstractRepository
average, average, average, average, average, average, average, average, count, count, distinct, distinct, exists, get, get, 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, stream, stream, stream, 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
-
AbstractCoherenceRepository
public AbstractCoherenceRepository()
-
-
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
NamedMap
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
.
-