Class ManagedObjectContainerImpl
java.lang.Object
net.officefloor.frame.impl.execute.managedobject.ManagedObjectContainerImpl
- All Implemented Interfaces:
Asset,ManagedObjectContainer
Container of a
ManagedObject.- Author:
- Daniel Sagenschneider
-
Constructor Summary
ConstructorsConstructorDescriptionManagedObjectContainerImpl(ManagedObject managedObject, ManagedObjectMetaData<D> metaData, ThreadState responsibleThreadState) Initiate the container with a providedManagedObject.ManagedObjectContainerImpl(ManagedObjectMetaData<D> metaData, ThreadState responsibleThreadState) Initiate the container. -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckOnAsset(CheckAssetContext context) Checks on theAsset.Creates aFunctionStateto check if theManagedObjectcontained within thisManagedObjectContaineris ready.<E> FunctionStateextractExtension(ManagedObjectExtensionExtractor<E> extractor, E[] managedObjectExtensions, int extensionIndex, TeamManagement responsibleTeam) Extracts theManagedObjectextension from theManagedObjectcontained in thisManagedObjectContainer.static ManagedObjectContainergetManagedObjectContainer(ManagedObjectIndex index, ManagedFunctionContainer managedFunction) Convenience method to obtain theManagedObjectContainer.Obtains the object being managed by theManagedObject.Obtains the object only if available, otherwisenull.Obtains theThreadStateowning thisAsset.Obtains theThreadStateresponsible for changes to thisManagedObjectContainer.loadManagedObject(ManagedFunctionContainer managedFunction) Creates aFunctionStateto load theManagedObject.Creates aFunctionStateto unload theManagedObject.unregisterGovernance(int governanceIndex) Unregisters theManagedObjectfromGovernance.
-
Constructor Details
-
ManagedObjectContainerImpl
public ManagedObjectContainerImpl(ManagedObjectMetaData<D> metaData, ThreadState responsibleThreadState) Initiate the container.- Type Parameters:
D- Dependency key type.- Parameters:
metaData- Meta-data of theManagedObject.responsibleThreadState-ThreadStateresponsible for making changes to thisManagedObjectContainer.
-
ManagedObjectContainerImpl
public ManagedObjectContainerImpl(ManagedObject managedObject, ManagedObjectMetaData<D> metaData, ThreadState responsibleThreadState) Initiate the container with a providedManagedObject.- Type Parameters:
D- Dependency key type.- Parameters:
managedObject-ManagedObjecttriggering theProcessState.metaData-ManagedObjectMetaDataof theManagedObject.responsibleThreadState-ThreadStateresponsible for making changes to thisManagedObjectContainer.
-
-
Method Details
-
getManagedObjectContainer
public static ManagedObjectContainer getManagedObjectContainer(ManagedObjectIndex index, ManagedFunctionContainer managedFunction) Convenience method to obtain theManagedObjectContainer.- Parameters:
index-ManagedObjectIndexto identify theManagedObjectContainer.managedFunction-ManagedFunctionContainerto specify context for obtaining theManagedObjectContainer.- Returns:
ManagedObjectContainer.
-
getResponsibleThreadState
Description copied from interface:ManagedObjectContainerObtains theThreadStateresponsible for changes to thisManagedObjectContainer.- Specified by:
getResponsibleThreadStatein interfaceManagedObjectContainer- Returns:
ThreadStateresponsible for changes to thisManagedObjectContainer.
-
loadManagedObject
Description copied from interface:ManagedObjectContainerCreates aFunctionStateto load theManagedObject.- Specified by:
loadManagedObjectin interfaceManagedObjectContainer- Parameters:
managedFunction-ManagedFunctionContainerrequiring theManagedObject.- Returns:
- Optional
FunctionStateto load theManagedObject. Should this returnnull, theManagedFunctionContainershould not then be executed, as it is expecting to wait. This will return theManagedFunctionContainerwhen theManagedObjectis loaded.
-
checkReady
Description copied from interface:ManagedObjectContainerCreates a
FunctionStateto check if theManagedObjectcontained within thisManagedObjectContaineris ready.Should the
ManagedObjectnot be ready, then will latch to wait for theManagedObjectto be ready.- Specified by:
checkReadyin interfaceManagedObjectContainer- Parameters:
check-ManagedObjectReadyCheck.- Returns:
FunctionStateto check if theManagedObjectcontained within thisManagedObjectContaineris ready.
-
getObject
Description copied from interface:ManagedObjectContainerObtains the object being managed by theManagedObject.- Specified by:
getObjectin interfaceManagedObjectContainer- Returns:
- Object being managed by the
ManagedObject.
-
getOptionalObject
Description copied from interface:ManagedObjectContainerObtains the object only if available, otherwisenull.- Specified by:
getOptionalObjectin interfaceManagedObjectContainer- Returns:
- Object being managed by the
ManagedObjectornullif not yet available. - See Also:
-
extractExtension
public <E> FunctionState extractExtension(ManagedObjectExtensionExtractor<E> extractor, E[] managedObjectExtensions, int extensionIndex, TeamManagement responsibleTeam) Description copied from interface:ManagedObjectContainerExtracts the
ManagedObjectextension from theManagedObjectcontained in thisManagedObjectContainer.Should the
ManagedObjectnot be loaded, then noManagedObjectextension will be loaded.- Specified by:
extractExtensionin interfaceManagedObjectContainer- Type Parameters:
E- Extension type.- Parameters:
extractor-ManagedObjectExtensionExtractor.managedObjectExtensions-Listto load theManagedObjectextension.extensionIndex- Index within theManagedObjectextensions array to load the extension.responsibleTeam-TeamManagementresponsible for extracting the extension. May benullto use anyTeam.- Returns:
FunctionStateto load theManagedObjectextension.
-
unregisterGovernance
Description copied from interface:ManagedObjectContainerUnregisters theManagedObjectfromGovernance.- Specified by:
unregisterGovernancein interfaceManagedObjectContainer- Parameters:
governanceIndex- Index of theGovernance.- Returns:
FunctionStateto unregister theManagedObjectfromGovernance.
-
unloadManagedObject
Description copied from interface:ManagedObjectContainerCreates aFunctionStateto unload theManagedObject.- Specified by:
unloadManagedObjectin interfaceManagedObjectContainer- Returns:
FunctionStateto unload theManagedObject.
-
getOwningThreadState
Description copied from interface:AssetObtains theThreadStateowning thisAsset.- Specified by:
getOwningThreadStatein interfaceAsset- Returns:
ThreadStateowning thisAsset.
-
checkOnAsset
Description copied from interface:AssetChecks on theAsset.- Specified by:
checkOnAssetin interfaceAsset- Parameters:
context-CheckAssetContextfor checking on theAsset.
-