Class FileMapStorage<V extends AbstractEntity & UpdatableEntity,M>
java.lang.Object
org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage<String,V,M,FileCrudOperations<V,M>>
org.keycloak.models.map.storage.file.FileMapStorage<V,M>
- All Implemented Interfaces:
KeycloakTransaction,HasRealmId,MapStorage<V,M>
public class FileMapStorage<V extends AbstractEntity & UpdatableEntity,M>
extends ConcurrentHashMapStorage<String,V,M,FileCrudOperations<V,M>>
MapStorage implementation used with the file map storage.- Author:
- Stefan Guilhen
-
Nested Class Summary
Nested classes/interfaces inherited from class org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage
ConcurrentHashMapStorage.MapOperation, ConcurrentHashMapStorage.MapTaskWithValue, ConcurrentHashMapStorage.TaskKey, ConcurrentHashMapStorage.TaskMap -
Field Summary
Fields inherited from class org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage
active, cloner, fieldPredicates, keyConverter, map, realmIdEntityField, rollback, tasks -
Method Summary
Modifier and TypeMethodDescriptionvoidcommit()static <V extends AbstractEntity & UpdatableEntity,M>
FileMapStorage<V,M> newInstance(Class<V> entityClass, Function<String, Path> dataDirectoryFunc, Function<V, String[]> suggestedPath, boolean isExpirableEntity) registerEntityForChanges(V origEntity) Returns a deep clone of an entity.booleanremoveIfExists(Path path) voidrollback()voidMethods inherited from class org.keycloak.models.map.storage.chm.ConcurrentHashMapStorage
addTask, begin, create, delete, delete, exists, getCount, getRealmId, getRollbackOnly, isActive, read, read, setRealmId, setRollbackOnly, updateIfChangedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.models.map.storage.MapStorage
exists
-
Method Details
-
newInstance
public static <V extends AbstractEntity & UpdatableEntity,M> FileMapStorage<V,M> newInstance(Class<V> entityClass, Function<String, Path> dataDirectoryFunc, Function<V, String[]> suggestedPath, boolean isExpirableEntity) -
rollback
public void rollback()- Specified by:
rollbackin interfaceKeycloakTransaction- Overrides:
rollbackin classConcurrentHashMapStorage<String,V extends AbstractEntity & UpdatableEntity, M, FileCrudOperations<V extends AbstractEntity & UpdatableEntity, M>>
-
commit
public void commit()- Specified by:
commitin interfaceKeycloakTransaction- Overrides:
commitin classConcurrentHashMapStorage<String,V extends AbstractEntity & UpdatableEntity, M, FileCrudOperations<V extends AbstractEntity & UpdatableEntity, M>>
-
touch
- Throws:
IOException
-
removeIfExists
-
registerEntityForChanges
Description copied from class:ConcurrentHashMapStorageReturns a deep clone of an entity. If the clone is already in the transaction, returns this one.Usually used before giving an entity from a source back to the caller, to prevent changing it directly in the data store, but to keep transactional properties.
- Overrides:
registerEntityForChangesin classConcurrentHashMapStorage<String,V extends AbstractEntity & UpdatableEntity, M, FileCrudOperations<V extends AbstractEntity & UpdatableEntity, M>> - Parameters:
origEntity- Original entity- Returns:
-