Class ManagedObjectContainerImpl
- java.lang.Object
-
- net.officefloor.frame.impl.execute.managedobject.ManagedObjectContainerImpl
-
- All Implemented Interfaces:
Asset,ManagedObjectContainer
public class ManagedObjectContainerImpl extends java.lang.Object implements ManagedObjectContainer, Asset
Container of aManagedObject.- Author:
- Daniel Sagenschneider
-
-
Constructor Summary
Constructors Constructor Description ManagedObjectContainerImpl(ManagedObject managedObject, ManagedObjectMetaData<D> metaData, ThreadState responsibleThreadState)Initiate the container with a providedManagedObject.ManagedObjectContainerImpl(ManagedObjectMetaData<D> metaData, ThreadState responsibleThreadState)Initiate the container.
-
Method Summary
-
-
-
Constructor Detail
-
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 Detail
-
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
public ThreadState getResponsibleThreadState()
Description copied from interface:ManagedObjectContainerObtains theThreadStateresponsible for changes to thisManagedObjectContainer.- Specified by:
getResponsibleThreadStatein interfaceManagedObjectContainer- Returns:
ThreadStateresponsible for changes to thisManagedObjectContainer.
-
loadManagedObject
public FunctionState loadManagedObject(ManagedFunctionContainer managedFunction)
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
public FunctionState checkReady(ManagedObjectReadyCheck check)
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
public java.lang.Object getObject()
Description copied from interface:ManagedObjectContainerObtains the object being managed by theManagedObject.- Specified by:
getObjectin interfaceManagedObjectContainer- Returns:
- Object being managed by the
ManagedObject.
-
getOptionalObject
public java.lang.Object 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:
OptionalThreadLocal
-
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
public FunctionState unregisterGovernance(int governanceIndex)
Description copied from interface:ManagedObjectContainerUnregisters theManagedObjectfromGovernance.- Specified by:
unregisterGovernancein interfaceManagedObjectContainer- Parameters:
governanceIndex- Index of theGovernance.- Returns:
FunctionStateto unregister theManagedObjectfromGovernance.
-
unloadManagedObject
public FunctionState unloadManagedObject()
Description copied from interface:ManagedObjectContainerCreates aFunctionStateto unload theManagedObject.- Specified by:
unloadManagedObjectin interfaceManagedObjectContainer- Returns:
FunctionStateto unload theManagedObject.
-
getOwningThreadState
public ThreadState getOwningThreadState()
Description copied from interface:AssetObtains theThreadStateowning thisAsset.- Specified by:
getOwningThreadStatein interfaceAsset- Returns:
ThreadStateowning thisAsset.
-
checkOnAsset
public void checkOnAsset(CheckAssetContext context)
Description copied from interface:AssetChecks on theAsset.- Specified by:
checkOnAssetin interfaceAsset- Parameters:
context-CheckAssetContextfor checking on theAsset.
-
-