Interface StorageFoundation<F extends StorageFoundation<?>>
- Type Parameters:
F
- the "self-type" of theStorageFoundation
implementation.
- All Known Subinterfaces:
EmbeddedStorageFoundation<F>
- All Known Implementing Classes:
EmbeddedStorageFoundation.Default
,StorageFoundation.Default
public interface StorageFoundation<F extends StorageFoundation<?>>
StorageSystem
instance,
i.e. a functional database handling logic.
Additionally to the services of a mere factory type, a foundation type also keeps references to all parts
after a StorageSystem
instance has been created. This is useful if some internal logic parts shall be
accessed while the StorageSystem
logic is already running. Therefore, this type can best be thought of
as a foundation on which the running database handling logic stands.
All set~ methods are simple setter methods without any additional logic worth mentioning.
All set~ methods return this to allow for easy method chaining to improve readability.
All get~ methods return a logic part instance, if present or otherwise creates and sets one beforehand
via a default creation logic.
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
StorageFoundation.Default<F extends StorageFoundation.Default<?>>
-
Method Summary
-
Method Details
-
getConfiguration
StorageConfiguration getConfiguration()Returns the currently setStorageConfiguration
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
- Throws:
MissingFoundationPartException
- if a returnable instance is required but cannot be created by default.
-
getOperationControllerCreator
StorageOperationController.Creator getOperationControllerCreator()Returns the currently setStorageOperationController.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getInitialDataFileNumberProvider
StorageInitialDataFileNumberProvider getInitialDataFileNumberProvider()Returns the currently setStorageInitialDataFileNumberProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRequestAcceptorCreator
StorageRequestAcceptor.Creator getRequestAcceptorCreator()Returns the currently setStorageRequestAcceptor.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getTaskBrokerCreator
StorageTaskBroker.Creator getTaskBrokerCreator()Returns the currently setStorageTaskBroker.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getDataChunkValidatorProvider
StorageDataChunkValidator.Provider getDataChunkValidatorProvider()Returns the currently setStorageDataChunkValidator.Provider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getDataChunkValidatorProvider2
StorageDataChunkValidator.Provider2 getDataChunkValidatorProvider2()Returns the currently setStorageDataChunkValidator.Provider2
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getChannelCreator
StorageChannelsCreator getChannelCreator()Returns the currently setStorageChannelsCreator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getThreadNameProvider
StorageThreadNameProvider getThreadNameProvider()Returns the currently setStorageThreadNameProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getChannelThreadProvider
StorageChannelThreadProvider getChannelThreadProvider()Returns the currently setStorageChannelThreadProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getBackupThreadProvider
StorageBackupThreadProvider getBackupThreadProvider()Returns the currently setStorageBackupThreadProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileManagerThreadProvider
StorageLockFileManagerThreadProvider getLockFileManagerThreadProvider()Returns the currently setStorageLockFileManagerThreadProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getThreadProvider
StorageThreadProvider getThreadProvider()Returns the currently setStorageThreadProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRequestTaskCreator
StorageRequestTaskCreator getRequestTaskCreator()Returns the currently setStorageRequestTaskCreator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getTypeDictionary
StorageTypeDictionary getTypeDictionary()Returns the currently setStorageTypeDictionary
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRootTypeIdProvider
StorageRootTypeIdProvider getRootTypeIdProvider()Returns the currently setStorageRootTypeIdProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getTimestampProvider
StorageTimestampProvider getTimestampProvider()Returns the currently setStorageTimestampProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getObjectIdRangeEvaluator
StorageObjectIdRangeEvaluator getObjectIdRangeEvaluator()Returns the currently setStorageObjectIdRangeEvaluator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getWriterProvider
StorageFileWriter.Provider getWriterProvider()Returns the currently setStorageFileWriter.Provider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getGCZombieOidHandler
StorageGCZombieOidHandler getGCZombieOidHandler()Returns the currently setStorageGCZombieOidHandler
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRootOidSelectorProvider
StorageRootOidSelector.Provider getRootOidSelectorProvider()Returns the currently setStorageRootOidSelector.Provider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getOidMarkQueueCreator
StorageObjectIdMarkQueue.Creator getOidMarkQueueCreator()Returns the currently setStorageObjectIdMarkQueue.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEntityMarkMonitorCreator
StorageEntityMarkMonitor.Creator getEntityMarkMonitorCreator()Returns the currently setStorageEntityMarkMonitor.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getDataFileValidatorCreator
StorageDataFileValidator.Creator getDataFileValidatorCreator()Returns the currently setStorageDataFileValidator.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEntityDataIteratorProvider
BinaryEntityRawDataIterator.Provider getEntityDataIteratorProvider()Returns the currently setBinaryEntityRawDataIterator.Provider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEntityDataValidatorCreator
StorageEntityDataValidator.Creator getEntityDataValidatorCreator()Returns the currently setStorageEntityDataValidator.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getProcessIdentityProvider
ProcessIdentityProvider getProcessIdentityProvider()Returns the currently setProcessIdentityProvider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileSetup
StorageLockFileSetup getLockFileSetup()Returns the currently setStorageLockFileSetup
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileSetupProvider
StorageLockFileSetup.Provider getLockFileSetupProvider()Returns the currently setStorageLockFileSetup.Provider
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileManagerCreator
StorageLockFileManager.Creator getLockFileManagerCreator()Returns the currently setStorageLockFileManager.Creator
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getExceptionHandler
StorageExceptionHandler getExceptionHandler()Returns the currently setStorageExceptionHandler
instance.If no instance is set and the implementation deems an instance of this type mandatory for the successful executon of
createStorageSystem()
, a suitable instance is created via an internal default creation logic and then set as the current. If the implementation has not sufficient logic and/or data to create a default instance, aMissingFoundationPartException
is thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEventLogger
StorageEventLogger getEventLogger() -
writeController
StorageWriteController writeController() -
getWriteController
StorageWriteController getWriteController() -
housekeepingBroker
StorageHousekeepingBroker housekeepingBroker() -
getHousekeepingBroker
StorageHousekeepingBroker getHousekeepingBroker() -
setConfiguration
Sets theStorageConfiguration
instance to be used for the assembly.- Parameters:
configuration
- the instance to be used.- Returns:
- this to allow method chaining.
-
setOperationControllerCreator
Sets theStorageOperationController.Creator
instance to be used for the assembly.- Parameters:
operationControllerCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setInitialDataFileNumberProvider
F setInitialDataFileNumberProvider(StorageInitialDataFileNumberProvider initDataFileNumberProvider)Sets theStorageInitialDataFileNumberProvider
instance to be used for the assembly.- Parameters:
initDataFileNumberProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setRequestAcceptorCreator
Sets theStorageRequestAcceptor.Creator
instance to be used for the assembly.- Parameters:
requestAcceptorCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setTaskBrokerCreator
Sets theStorageTaskBroker.Creator
instance to be used for the assembly.- Parameters:
taskBrokerCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setDataChunkValidatorProvider
Sets theStorageDataChunkValidator.Provider
instance to be used for the assembly.- Parameters:
dataChunkValidatorProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setDataChunkValidatorProvider2
Sets theStorageDataChunkValidator.Provider2
instance to be used for the assembly.- Parameters:
dataChunkValidatorProvider2
- the instance to be used.- Returns:
- this to allow method chaining.
-
setChannelCreator
Sets theStorageChannelsCreator
instance to be used for the assembly.- Parameters:
channelCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setThreadNameProvider
Sets theStorageThreadNameProvider
instance to be used for the assembly.- Parameters:
threadNameProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setChannelThreadProvider
Sets theStorageChannelThreadProvider
instance to be used for the assembly.- Parameters:
channelThreadProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setBackupThreadProvider
Sets theStorageBackupThreadProvider
instance to be used for the assembly.- Parameters:
backupThreadProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileManagerThreadProvider
F setLockFileManagerThreadProvider(StorageLockFileManagerThreadProvider lockFileManagerThreadProvider)Sets theStorageLockFileManagerThreadProvider
instance to be used for the assembly.- Parameters:
lockFileManagerThreadProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setThreadProvider
Sets theStorageThreadProvider
instance to be used for the assembly.- Parameters:
threadProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setTaskCreator
Sets theStorageRequestTaskCreator
instance to be used for the assembly.- Parameters:
taskCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setTypeDictionary
Sets theStorageTypeDictionary
instance to be used for the assembly.- Parameters:
typeDictionary
- the instance to be used.- Returns:
- this to allow method chaining.
-
setRootTypeIdProvider
Sets theStorageRootTypeIdProvider
instance to be used for the assembly.- Parameters:
rootTypeIdProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setTimestampProvider
Sets theStorageTimestampProvider
instance to be used for the assembly.- Parameters:
timestampProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setObjectIdRangeEvaluator
Sets theStorageObjectIdRangeEvaluator
instance to be used for the assembly.- Parameters:
objectIdRangeEvaluator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setWriterProvider
Sets theStorageFileWriter.Provider
instance to be used for the assembly.- Parameters:
writerProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setGCZombieOidHandler
Sets theStorageGCZombieOidHandler
instance to be used for the assembly.- Parameters:
gCZombieOidHandler
- the instance to be used.- Returns:
- this to allow method chaining.
-
setRootOidSelectorProvider
Sets theStorageRootOidSelector.Provider
instance to be used for the assembly.- Parameters:
rootOidSelectorProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setOidMarkQueueCreator
Sets theStorageObjectIdMarkQueue.Creator
instance to be used for the assembly.- Parameters:
oidMarkQueueCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setEntityMarkMonitorCreator
Sets theStorageEntityMarkMonitor.Creator
instance to be used for the assembly.- Parameters:
entityMarkMonitorCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setDataFileValidatorCreator
Sets theStorageDataFileValidator.Creator
instance to be used for the assembly.- Parameters:
dataFileValidatorCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setEntityDataIteratorProvider
F setEntityDataIteratorProvider(BinaryEntityRawDataIterator.Provider entityRawDataIteratorProvider)Sets theBinaryEntityRawDataIterator.Provider
instance to be used for the assembly.- Parameters:
entityRawDataIteratorProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setEntityDataValidatorCreator
Sets theStorageEntityDataValidator.Creator
instance to be used for the assembly.- Parameters:
entityDataValidatorCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setProcessIdentityProvider
Sets theProcessIdentityProvider
instance to be used for the assembly.- Parameters:
processIdentityProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileSetup
Sets theStorageLockFileSetup
instance to be used for the assembly.- Parameters:
lockFileSetup
- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileSetupProvider
Sets theStorageLockFileSetup.Provider
instance to be used for the assembly.- Parameters:
lockFileSetupProvider
- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileManagerCreator
Sets theStorageLockFileManager.Creator
instance to be used for the assembly.- Parameters:
lockFileManagerCreator
- the instance to be used.- Returns:
- this to allow method chaining.
-
setExceptionHandler
Sets theStorageExceptionHandler
instance to be used for the assembly.- Parameters:
exceptionHandler
- the instance to be used.- Returns:
- this to allow method chaining.
-
setEventLogger
-
setWriteController
-
setHousekeepingBroker
-
createStorageSystem
StorageSystem createStorageSystem()Creates and returns a newStorageSystem
instance by using the current state of all registered logic part instances and by on-demand creating missing ones via a default logic.The returned
StorageSystem
instance will NOT yet be started.- Returns:
- a new
StorageSystem
instance.
-