Class HotRodCrudOperations<K,E extends AbstractHotRodEntity,V extends AbstractEntity & HotRodEntityDelegate<E>,M>
- java.lang.Object
-
- org.keycloak.models.map.storage.hotRod.HotRodCrudOperations<K,E,V,M>
-
- All Implemented Interfaces:
CrudOperations<V,M>
- Direct Known Subclasses:
SingleUseObjectHotRodCrudOperations
public class HotRodCrudOperations<K,E extends AbstractHotRodEntity,V extends AbstractEntity & HotRodEntityDelegate<E>,M> extends Object implements CrudOperations<V,M>
-
-
Field Summary
Fields Modifier and Type Field Description protected DeepClonerclonerprotected booleanisExpirableEntityprotected StringKeyConverter<K>keyConverterprotected HotRodEntityDescriptor<E,V>storedEntityDescriptor
-
Constructor Summary
Constructors Constructor Description HotRodCrudOperations(KeycloakSession session, org.infinispan.client.hotrod.RemoteCache<K,E> remoteCache, StringKeyConverter<K> keyConverter, HotRodEntityDescriptor<E,V> storedEntityDescriptor, DeepCloner cloner, Long lockTimeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Vcreate(V value)Creates an object in the storage.IckleQueryMapModelCriteriaBuilder<E,M>createCriteriaBuilder()booleandelete(String key)Deletes object with the givenkeyfrom the storage, if exists, no-op otherwise.longdelete(QueryParameters<M> queryParameters)Deletes objects that match the given criteria.booleanexists(String key)Returnstrueif the object with the givenkeyexists in the storage.longgetCount(QueryParameters<M> queryParameters)Returns the number of objects satisfying givencriteriafrom the storage.Vread(String key)Returns object with the givenkeyfrom the storage ornullif object does not exist.Stream<V>read(QueryParameters<M> queryParameters)Returns stream of objects satisfying givencriteriafrom the storage.Vupdate(V value)Updates the object with the key of thevalue's ID in the storage if it already exists.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.map.storage.CrudOperations
determineKeyFromValue, exists
-
-
-
-
Field Detail
-
keyConverter
protected final StringKeyConverter<K> keyConverter
-
storedEntityDescriptor
protected final HotRodEntityDescriptor<E extends AbstractHotRodEntity,V extends AbstractEntity & HotRodEntityDelegate<E>> storedEntityDescriptor
-
cloner
protected final DeepCloner cloner
-
isExpirableEntity
protected boolean isExpirableEntity
-
-
Constructor Detail
-
HotRodCrudOperations
public HotRodCrudOperations(KeycloakSession session, org.infinispan.client.hotrod.RemoteCache<K,E> remoteCache, StringKeyConverter<K> keyConverter, HotRodEntityDescriptor<E,V> storedEntityDescriptor, DeepCloner cloner, Long lockTimeout)
-
-
Method Detail
-
create
public V create(V value)
Description copied from interface:CrudOperationsCreates an object in the storage.
ID of thevaluemay be prescribed in id of thevalue. If the id isnullor its format is not matching the store internal format for ID, then thevalue's ID will be generated and returned in the id of the return value.- Specified by:
createin interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
value- Entity to create in the store- Returns:
- Entity representing the
valuein the store. It may or may not be the same instance asvalue - See Also:
AbstractEntity.getId()
-
read
public V read(String key)
Description copied from interface:CrudOperationsReturns object with the givenkeyfrom the storage ornullif object does not exist.
IfVimplementsExpirableEntitythis method should not return entities that are expired. SeeExpirableEntityJavaDoc for more details. TODO: Consider returningOptional<V>instead.- Specified by:
readin interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
key- Key of the object. Must not benull.- Returns:
- See description
-
update
public V update(V value)
Description copied from interface:CrudOperationsUpdates the object with the key of thevalue's ID in the storage if it already exists.- Specified by:
updatein interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
value- Updated value- Returns:
- the previous value associated with the specified key, or null if there was no mapping for the key. (A null return can also indicate that the map previously associated null with the key, if the implementation supports null values.)
- See Also:
AbstractEntity.getId()
-
delete
public boolean delete(String key)
Description copied from interface:CrudOperationsDeletes object with the givenkeyfrom the storage, if exists, no-op otherwise.- Specified by:
deletein interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Returns:
- Returns
trueif the object has been deleted or result cannot be determined,falseotherwise.
-
read
public Stream<V> read(QueryParameters<M> queryParameters)
Description copied from interface:CrudOperationsReturns stream of objects satisfying givencriteriafrom the storage. The criteria are specified in the given criteria builder based on model properties.
IfVimplementsExpirableEntitythis method should not return entities that are expired. SeeExpirableEntityJavaDoc for more details.- Specified by:
readin interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
queryParameters- parameters for the query like firstResult, maxResult, requested ordering, etc.- Returns:
- Stream of objects. Never returns
null.
-
getCount
public long getCount(QueryParameters<M> queryParameters)
Description copied from interface:CrudOperationsReturns the number of objects satisfying givencriteriafrom the storage. The criteria are specified in the given criteria builder based on model properties.- Specified by:
getCountin interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
queryParameters- parameters for the query like firstResult, maxResult, requested ordering, etc.- Returns:
- Number of objects. Never returns
null.
-
delete
public long delete(QueryParameters<M> queryParameters)
Description copied from interface:CrudOperationsDeletes objects that match the given criteria.- Specified by:
deletein interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
queryParameters- parameters for the query like firstResult, maxResult, requested ordering, etc.- Returns:
- Number of removed objects (might return
-1if not supported)
-
exists
public boolean exists(String key)
Description copied from interface:CrudOperationsReturnstrueif the object with the givenkeyexists in the storage.falseotherwise.- Specified by:
existsin interfaceCrudOperations<K,E extends AbstractHotRodEntity>- Parameters:
key- Key of the object. Must not benull.- Returns:
- See description
-
createCriteriaBuilder
public IckleQueryMapModelCriteriaBuilder<E,M> createCriteriaBuilder()
-
-