Interface StorageFoundation<F extends StorageFoundation<?>>
- Type Parameters:
F- the "self-type" of theStorageFoundationimplementation.
- 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 classStorageFoundation.Default<F extends StorageFoundation.Default<?>> -
Method Summary
-
Method Details
-
getConfiguration
StorageConfiguration getConfiguration()Returns the currently setStorageConfigurationinstance.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, aMissingFoundationPartExceptionis 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.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getInitialDataFileNumberProvider
StorageInitialDataFileNumberProvider getInitialDataFileNumberProvider()Returns the currently setStorageInitialDataFileNumberProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRequestAcceptorCreator
StorageRequestAcceptor.Creator getRequestAcceptorCreator()Returns the currently setStorageRequestAcceptor.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getTaskBrokerCreator
StorageTaskBroker.Creator getTaskBrokerCreator()Returns the currently setStorageTaskBroker.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getDataChunkValidatorProvider
StorageDataChunkValidator.Provider getDataChunkValidatorProvider()Returns the currently setStorageDataChunkValidator.Providerinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getDataChunkValidatorProvider2
StorageDataChunkValidator.Provider2 getDataChunkValidatorProvider2()Returns the currently setStorageDataChunkValidator.Provider2instance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getChannelCreator
StorageChannelsCreator getChannelCreator()Returns the currently setStorageChannelsCreatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getThreadNameProvider
StorageThreadNameProvider getThreadNameProvider()Returns the currently setStorageThreadNameProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getChannelThreadProvider
StorageChannelThreadProvider getChannelThreadProvider()Returns the currently setStorageChannelThreadProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getBackupThreadProvider
StorageBackupThreadProvider getBackupThreadProvider()Returns the currently setStorageBackupThreadProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileManagerThreadProvider
StorageLockFileManagerThreadProvider getLockFileManagerThreadProvider()Returns the currently setStorageLockFileManagerThreadProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getThreadProvider
StorageThreadProvider getThreadProvider()Returns the currently setStorageThreadProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRequestTaskCreator
StorageRequestTaskCreator getRequestTaskCreator()Returns the currently setStorageRequestTaskCreatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getTypeDictionary
StorageTypeDictionary getTypeDictionary()Returns the currently setStorageTypeDictionaryinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRootTypeIdProvider
StorageRootTypeIdProvider getRootTypeIdProvider()Returns the currently setStorageRootTypeIdProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getTimestampProvider
StorageTimestampProvider getTimestampProvider()Returns the currently setStorageTimestampProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getObjectIdRangeEvaluator
StorageObjectIdRangeEvaluator getObjectIdRangeEvaluator()Returns the currently setStorageObjectIdRangeEvaluatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getWriterProvider
StorageFileWriter.Provider getWriterProvider()Returns the currently setStorageFileWriter.Providerinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getGCZombieOidHandler
StorageGCZombieOidHandler getGCZombieOidHandler()Returns the currently setStorageGCZombieOidHandlerinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getRootOidSelectorProvider
StorageRootOidSelector.Provider getRootOidSelectorProvider()Returns the currently setStorageRootOidSelector.Providerinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getOidMarkQueueCreator
StorageObjectIdMarkQueue.Creator getOidMarkQueueCreator()Returns the currently setStorageObjectIdMarkQueue.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEntityMarkMonitorCreator
StorageEntityMarkMonitor.Creator getEntityMarkMonitorCreator()Returns the currently setStorageEntityMarkMonitor.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getDataFileValidatorCreator
StorageDataFileValidator.Creator getDataFileValidatorCreator()Returns the currently setStorageDataFileValidator.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEntityDataIteratorProvider
BinaryEntityRawDataIterator.Provider getEntityDataIteratorProvider()Returns the currently setBinaryEntityRawDataIterator.Providerinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getEntityDataValidatorCreator
StorageEntityDataValidator.Creator getEntityDataValidatorCreator()Returns the currently setStorageEntityDataValidator.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getProcessIdentityProvider
ProcessIdentityProvider getProcessIdentityProvider()Returns the currently setProcessIdentityProviderinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileSetup
StorageLockFileSetup getLockFileSetup()Returns the currently setStorageLockFileSetupinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileSetupProvider
StorageLockFileSetup.Provider getLockFileSetupProvider()Returns the currently setStorageLockFileSetup.Providerinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getLockFileManagerCreator
StorageLockFileManager.Creator getLockFileManagerCreator()Returns the currently setStorageLockFileManager.Creatorinstance.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, aMissingFoundationPartExceptionis thrown.- Returns:
- the currently set instance, potentially created on-demand if required.
-
getExceptionHandler
StorageExceptionHandler getExceptionHandler()Returns the currently setStorageExceptionHandlerinstance.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, aMissingFoundationPartExceptionis 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 theStorageConfigurationinstance to be used for the assembly.- Parameters:
configuration- the instance to be used.- Returns:
- this to allow method chaining.
-
setOperationControllerCreator
Sets theStorageOperationController.Creatorinstance 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 theStorageInitialDataFileNumberProviderinstance to be used for the assembly.- Parameters:
initDataFileNumberProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setRequestAcceptorCreator
Sets theStorageRequestAcceptor.Creatorinstance to be used for the assembly.- Parameters:
requestAcceptorCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setTaskBrokerCreator
Sets theStorageTaskBroker.Creatorinstance to be used for the assembly.- Parameters:
taskBrokerCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setDataChunkValidatorProvider
Sets theStorageDataChunkValidator.Providerinstance to be used for the assembly.- Parameters:
dataChunkValidatorProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setDataChunkValidatorProvider2
Sets theStorageDataChunkValidator.Provider2instance to be used for the assembly.- Parameters:
dataChunkValidatorProvider2- the instance to be used.- Returns:
- this to allow method chaining.
-
setChannelCreator
Sets theStorageChannelsCreatorinstance to be used for the assembly.- Parameters:
channelCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setThreadNameProvider
Sets theStorageThreadNameProviderinstance to be used for the assembly.- Parameters:
threadNameProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setChannelThreadProvider
Sets theStorageChannelThreadProviderinstance to be used for the assembly.- Parameters:
channelThreadProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setBackupThreadProvider
Sets theStorageBackupThreadProviderinstance 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 theStorageLockFileManagerThreadProviderinstance to be used for the assembly.- Parameters:
lockFileManagerThreadProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setThreadProvider
Sets theStorageThreadProviderinstance to be used for the assembly.- Parameters:
threadProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setTaskCreator
Sets theStorageRequestTaskCreatorinstance to be used for the assembly.- Parameters:
taskCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setTypeDictionary
Sets theStorageTypeDictionaryinstance to be used for the assembly.- Parameters:
typeDictionary- the instance to be used.- Returns:
- this to allow method chaining.
-
setRootTypeIdProvider
Sets theStorageRootTypeIdProviderinstance to be used for the assembly.- Parameters:
rootTypeIdProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setTimestampProvider
Sets theStorageTimestampProviderinstance to be used for the assembly.- Parameters:
timestampProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setObjectIdRangeEvaluator
Sets theStorageObjectIdRangeEvaluatorinstance to be used for the assembly.- Parameters:
objectIdRangeEvaluator- the instance to be used.- Returns:
- this to allow method chaining.
-
setWriterProvider
Sets theStorageFileWriter.Providerinstance to be used for the assembly.- Parameters:
writerProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setGCZombieOidHandler
Sets theStorageGCZombieOidHandlerinstance to be used for the assembly.- Parameters:
gCZombieOidHandler- the instance to be used.- Returns:
- this to allow method chaining.
-
setRootOidSelectorProvider
Sets theStorageRootOidSelector.Providerinstance to be used for the assembly.- Parameters:
rootOidSelectorProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setOidMarkQueueCreator
Sets theStorageObjectIdMarkQueue.Creatorinstance to be used for the assembly.- Parameters:
oidMarkQueueCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setEntityMarkMonitorCreator
Sets theStorageEntityMarkMonitor.Creatorinstance to be used for the assembly.- Parameters:
entityMarkMonitorCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setDataFileValidatorCreator
Sets theStorageDataFileValidator.Creatorinstance 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.Providerinstance to be used for the assembly.- Parameters:
entityRawDataIteratorProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setEntityDataValidatorCreator
Sets theStorageEntityDataValidator.Creatorinstance to be used for the assembly.- Parameters:
entityDataValidatorCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setProcessIdentityProvider
Sets theProcessIdentityProviderinstance to be used for the assembly.- Parameters:
processIdentityProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileSetup
Sets theStorageLockFileSetupinstance to be used for the assembly.- Parameters:
lockFileSetup- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileSetupProvider
Sets theStorageLockFileSetup.Providerinstance to be used for the assembly.- Parameters:
lockFileSetupProvider- the instance to be used.- Returns:
- this to allow method chaining.
-
setLockFileManagerCreator
Sets theStorageLockFileManager.Creatorinstance to be used for the assembly.- Parameters:
lockFileManagerCreator- the instance to be used.- Returns:
- this to allow method chaining.
-
setExceptionHandler
Sets theStorageExceptionHandlerinstance 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 newStorageSysteminstance by using the current state of all registered logic part instances and by on-demand creating missing ones via a default logic.The returned
StorageSysteminstance will NOT yet be started.- Returns:
- a new
StorageSysteminstance.
-