Class SingleUseObjectConcurrentHashMapStorage<K,V extends AbstractEntity,M>
- java.lang.Object
-
- org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage<K,MapSingleUseObjectEntity,SingleUseObjectValueModel>
-
- org.keycloak.models.map.storage.chm.SingleUseObjectConcurrentHashMapStorage<K,V,M>
-
- All Implemented Interfaces:
ConcurrentHashMapCrudOperations<MapSingleUseObjectEntity,SingleUseObjectValueModel>
,MapStorage<MapSingleUseObjectEntity,SingleUseObjectValueModel>
public class SingleUseObjectConcurrentHashMapStorage<K,V extends AbstractEntity,M> extends ConcurrentHashMapStorage<K,MapSingleUseObjectEntity,SingleUseObjectValueModel>
- Author:
- Martin Kanis
-
-
Field Summary
-
Fields inherited from class org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage
cloner, fieldPredicates, keyConverter, store
-
-
Constructor Summary
Constructors Constructor Description SingleUseObjectConcurrentHashMapStorage(StringKeyConverter<K> keyConverter, DeepCloner cloner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MapSingleUseObjectEntity
create(MapSingleUseObjectEntity value)
Creates an object in the store.MapKeycloakTransaction<MapSingleUseObjectEntity,SingleUseObjectValueModel>
createTransaction(KeycloakSession session)
Creates aMapKeycloakTransaction
object that tracks a new transaction related to this storage.Stream<MapSingleUseObjectEntity>
read(QueryParameters<SingleUseObjectValueModel> queryParameters)
Returns stream of objects satisfying givencriteria
from the storage.-
Methods inherited from class org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage
createCriteriaBuilder, delete, delete, getCount, getKeyConverter, read, update
-
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.chm.ConcurrentHashMapCrudOperations
determineKeyFromValue, exists, exists
-
-
-
-
Constructor Detail
-
SingleUseObjectConcurrentHashMapStorage
public SingleUseObjectConcurrentHashMapStorage(StringKeyConverter<K> keyConverter, DeepCloner cloner)
-
-
Method Detail
-
createTransaction
public MapKeycloakTransaction<MapSingleUseObjectEntity,SingleUseObjectValueModel> createTransaction(KeycloakSession session)
Description copied from interface:MapStorage
Creates aMapKeycloakTransaction
object that tracks a new transaction related to this storage. In case of JPA or similar, the transaction object might be supplied by the container (via JTA) or shared same across storages accessing the same database within the same session; in other cases (e.g. plain map) a separate transaction handler might be created per each storage.- Specified by:
createTransaction
in interfaceMapStorage<K,V extends AbstractEntity>
- Overrides:
createTransaction
in classConcurrentHashMapStorage<K,MapSingleUseObjectEntity,SingleUseObjectValueModel>
- Returns:
- See description. Never returns
null
-
create
public MapSingleUseObjectEntity create(MapSingleUseObjectEntity value)
Description copied from interface:ConcurrentHashMapCrudOperations
Creates an object in the store. ID of thevalue
may be prescribed in id of thevalue
. If the id isnull
or 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:
create
in interfaceConcurrentHashMapCrudOperations<K,V extends AbstractEntity>
- Overrides:
create
in classConcurrentHashMapStorage<K,MapSingleUseObjectEntity,SingleUseObjectValueModel>
- Parameters:
value
- Entity to create in the store- Returns:
- Entity representing the
value
in the store. It may or may not be the same instance asvalue
- See Also:
AbstractEntity.getId()
-
read
public Stream<MapSingleUseObjectEntity> read(QueryParameters<SingleUseObjectValueModel> queryParameters)
Description copied from interface:ConcurrentHashMapCrudOperations
Returns stream of objects satisfying givencriteria
from the storage. The criteria are specified in the given criteria builder based on model properties. IfV
implementsExpirableEntity
this method should not return entities that are expired. SeeExpirableEntity
JavaDoc for more details.- Specified by:
read
in interfaceConcurrentHashMapCrudOperations<K,V extends AbstractEntity>
- Overrides:
read
in classConcurrentHashMapStorage<K,MapSingleUseObjectEntity,SingleUseObjectValueModel>
- Parameters:
queryParameters
- parameters for the query like firstResult, maxResult, requested ordering, etc.- Returns:
- Stream of objects. Never returns
null
.
-
-