Class ManagedObjectMetaDataImpl<O extends Enum<O>>
java.lang.Object
net.officefloor.frame.impl.execute.managedobject.ManagedObjectMetaDataImpl<O>
- All Implemented Interfaces:
ManagedObjectMetaData<O>
public class ManagedObjectMetaDataImpl<O extends Enum<O>>
extends Object
implements ManagedObjectMetaData<O>
Meta-data of the
ManagedObject.- Author:
- Daniel Sagenschneider
-
Constructor Summary
ConstructorsConstructorDescriptionManagedObjectMetaDataImpl(String boundManagedObjectName, Class<?> objectType, int instanceIndex, ManagedObjectSource<?, ?> source, ManagedObjectPool pool, boolean isContextAwareManagedObject, AssetManagerReference sourcingManagerReference, boolean isManagedObjectAsynchronous, AssetManagerReference operationsManagerReference, boolean isCoordinatingManagedObject, ManagedObjectIndex[] dependencyMapping, long timeout, ManagedObjectGovernanceMetaData<?>[] governanceMetaData, Logger logger) Instantiate. -
Method Summary
Modifier and TypeMethodDescriptioncheckReady(ManagedFunctionContainer managedFunction, ManagedObjectReadyCheck check, ManagedObjectContainer currentContainer) Creates aFunctionStateto check if the dependencies of thisManagedObjectare ready.createObjectRegistry(ManagedFunctionContainer currentContainer) Creates theObjectRegistryfor theManagedObject.Obtains the name of theManagedObjectbound within theManagedObjectScope.Obtains theFunctionLoopfor theManagedObject.Obtains theManagedObjectGovernanceMetaDataapplicable to thisManagedObject.intObtains the instance index of theManagedObjectbound to theManagedObjectIndex.Obtains theLoggerfor theManagedObject.Obtains theManagedObjectPoolfor theManagedObject.ManagedObjectSource<?,?> Obtains theManagedObjectSourcefor theManagedObject.Obtains theMonitorClock.Class<?>Obtains the type of theObjectreturned from theManagedObject.Obtains theAssetManagerReferencethat manages asynchronous operations on theManagedObject.ManagedObjectAdministrationMetaData<?,?, ?>[] Obtains the pre-loadManagedObjectAdministrationMetaData.Obtains theAssetManagerReferencethat manages the sourcing of theManagedObject.Obtains theManagedObjectStartupFunctioninstances for theManagedObjectSource.longObtains the time out in milliseconds for the asynchronous operation to complete.booleanIndicates if theManagedObjectimplementsContextAwareManagedObject.booleanIndicates if theManagedObjectimplementsCoordinatingManagedObject.booleanIndicates if theManagedObjectimplementsAsynchronousManagedObject.voidloadRemainingState(OfficeMetaData officeMetaData, ManagedObjectStartupFunction[] startupFunctions, FlowMetaData recycleFlowMetaData, ManagedObjectAdministrationMetaData<?, ?, ?>[] preloadAdministration) Loads the remaining state of thisManagedObjectMetaData.recycle(ManagedObject managedObject, ManagedObjectCleanup cleanup) Creates theFunctionStatefor the recycling of theManagedObject.
-
Constructor Details
-
ManagedObjectMetaDataImpl
public ManagedObjectMetaDataImpl(String boundManagedObjectName, Class<?> objectType, int instanceIndex, ManagedObjectSource<?, ?> source, ManagedObjectPool pool, boolean isContextAwareManagedObject, AssetManagerReference sourcingManagerReference, boolean isManagedObjectAsynchronous, AssetManagerReference operationsManagerReference, boolean isCoordinatingManagedObject, ManagedObjectIndex[] dependencyMapping, long timeout, ManagedObjectGovernanceMetaData<?>[] governanceMetaData, Logger logger) Instantiate.- Parameters:
boundManagedObjectName- Name of theManagedObjectbound within theManagedObjectScope.objectType- Type of theObjectreturned from theManagedObject.instanceIndex- Instance index.source-ManagedObjectSourceof theManagedObject.pool-ManagedObjectPoolof theManagedObject.isContextAwareManagedObject-trueif theManagedObjectisContextAwareManagedObject.sourcingManagerReference-AssetManagerReferenceto manage the sourcing of theManagedObjectinstances.isManagedObjectAsynchronous-trueif theManagedObjectisAsynchronousManagedObject.operationsManagerReference-AssetManagerReferenceto manage the asynchronous operations on theManagedObjectinstances.isCoordinatingManagedObject-trueif theManagedObjectisCoordinatingManagedObject.dependencyMapping-ManagedObjectIndexfor the dependencies in the index order required.timeout- Timeout of an asynchronous operation by theManagedObjectbeing managed.governanceMetaData-ManagedObjectGovernanceMetaDatainstances applicable to thisManagedObject.logger-Loggerfor theManagedObject.
-
-
Method Details
-
loadRemainingState
public void loadRemainingState(OfficeMetaData officeMetaData, ManagedObjectStartupFunction[] startupFunctions, FlowMetaData recycleFlowMetaData, ManagedObjectAdministrationMetaData<?, ?, ?>[] preloadAdministration) Loads the remaining state of thisManagedObjectMetaData.- Parameters:
officeMetaData-OfficeMetaDataof theOfficecontaining thisManagedObjectMetaData.startupFunctions-ManagedObjectStartupFunctioninstances for thisManagedObjectSource.recycleFlowMetaData-FlowMetaDatafor the recycling of thisManagedObject.preloadAdministration- Pre-loadManagedObjectAdministrationMetaData.
-
getBoundManagedObjectName
Description copied from interface:ManagedObjectMetaDataObtains the name of theManagedObjectbound within theManagedObjectScope.- Specified by:
getBoundManagedObjectNamein interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
- Name of the
ManagedObjectbound within theManagedObjectScope.
-
getLogger
Description copied from interface:ManagedObjectMetaDataObtains theLoggerfor theManagedObject.- Specified by:
getLoggerin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
Loggerfor theManagedObject.
-
getObjectType
Description copied from interface:ManagedObjectMetaDataObtains the type of theObjectreturned from theManagedObject.- Specified by:
getObjectTypein interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
- Type of the
Objectreturned from theManagedObject.
-
getInstanceIndex
public int getInstanceIndex()Description copied from interface:ManagedObjectMetaDataObtains the instance index of the
ManagedObjectbound to theManagedObjectIndex.ManagedObjectSourceinstances that invokeProcessStateinstances with the same type of Object may all be bound to the sameManagedObjectIndex.- Specified by:
getInstanceIndexin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
- Instance index of the
ManagedObjectbound to theManagedObjectIndex.
-
getSourcingManagerReference
Description copied from interface:ManagedObjectMetaDataObtains theAssetManagerReferencethat manages the sourcing of theManagedObject.- Specified by:
getSourcingManagerReferencein interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
AssetManagerReferencethat manages the sourcing of theManagedObject.
-
getManagedObjectSource
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectSourcefor theManagedObject.- Specified by:
getManagedObjectSourcein interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
ManagedObjectSourcefor theManagedObject.
-
getManagedObjectPool
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectPoolfor theManagedObject.- Specified by:
getManagedObjectPoolin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
ManagedObjectPoolfor theManagedObject.
-
getStartupFunctions
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectStartupFunctioninstances for theManagedObjectSource.- Specified by:
getStartupFunctionsin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
ManagedObjectStartupFunctioninstances for theManagedObjectSource.
-
getTimeout
public long getTimeout()Description copied from interface:ManagedObjectMetaDataObtains the time out in milliseconds for the asynchronous operation to complete.- Specified by:
getTimeoutin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
- Time out in milliseconds.
-
isContextAwareManagedObject
public boolean isContextAwareManagedObject()Description copied from interface:ManagedObjectMetaDataIndicates if theManagedObjectimplementsContextAwareManagedObject.- Specified by:
isContextAwareManagedObjectin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
trueif theManagedObjectimplementsContextAwareManagedObject.
-
isManagedObjectAsynchronous
public boolean isManagedObjectAsynchronous()Description copied from interface:ManagedObjectMetaDataIndicates if the
ManagedObjectimplementsAsynchronousManagedObject.Should the
ManagedObjectimplementAsynchronousManagedObjectthen it will require checking if ready.- Specified by:
isManagedObjectAsynchronousin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
trueif theManagedObjectimplementsAsynchronousManagedObject.
-
getOperationsManagerReference
Description copied from interface:ManagedObjectMetaDataObtains theAssetManagerReferencethat manages asynchronous operations on theManagedObject.- Specified by:
getOperationsManagerReferencein interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
AssetManagerReferencethat manages asynchronous operations on theManagedObject.
-
isCoordinatingManagedObject
public boolean isCoordinatingManagedObject()Description copied from interface:ManagedObjectMetaDataIndicates if theManagedObjectimplementsCoordinatingManagedObject.- Specified by:
isCoordinatingManagedObjectin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
trueif theManagedObjectimplementsCoordinatingManagedObject.
-
getFunctionLoop
Description copied from interface:ManagedObjectMetaDataObtains theFunctionLoopfor theManagedObject.- Specified by:
getFunctionLoopin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
FunctionLoopfor theManagedObject.
-
getMonitorClock
Description copied from interface:ManagedObjectMetaDataObtains theMonitorClock.- Specified by:
getMonitorClockin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
MonitorClock.
-
checkReady
public FunctionState checkReady(ManagedFunctionContainer managedFunction, ManagedObjectReadyCheck check, ManagedObjectContainer currentContainer) Description copied from interface:ManagedObjectMetaDataCreates a
FunctionStateto check if the dependencies of thisManagedObjectare ready.Should a
ManagedObjectnot be ready, then will latch theManagedFunctionContainerto wait for theManagedObjectto be ready.- Specified by:
checkReadyin interfaceManagedObjectMetaData<O extends Enum<O>>- Parameters:
managedFunction-ManagedFunctionContainerrequesting the check of theManagedObjectto be ready.check-ManagedObjectReadyCheck.currentContainer- Optional able to include the currentManagedObjectContainerfor thisManagedObjectMetaDatain ready check. May benullto not include.- Returns:
FunctionStateinstances to check if the dependencies of thisManagedObjectare ready.
-
createObjectRegistry
Description copied from interface:ManagedObjectMetaDataCreates theObjectRegistryfor theManagedObject.- Specified by:
createObjectRegistryin interfaceManagedObjectMetaData<O extends Enum<O>>- Parameters:
currentContainer-ManagedFunctionContainer.- Returns:
ObjectRegistry.
-
getGovernanceMetaData
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectGovernanceMetaDataapplicable to thisManagedObject.- Specified by:
getGovernanceMetaDatain interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
ManagedObjectGovernanceMetaDataapplicable to thisManagedObject.
-
getPreLoadAdministration
Description copied from interface:ManagedObjectMetaDataObtains the pre-loadManagedObjectAdministrationMetaData.- Specified by:
getPreLoadAdministrationin interfaceManagedObjectMetaData<O extends Enum<O>>- Returns:
- Pre-load
ManagedObjectAdministrationMetaData.
-
recycle
Description copied from interface:ManagedObjectMetaDataCreates theFunctionStatefor the recycling of theManagedObject.- Specified by:
recyclein interfaceManagedObjectMetaData<O extends Enum<O>>- Parameters:
managedObject-ManagedObjectto be recycled. Obtained by theRecycleManagedObjectParameter.getManagedObject().cleanup-ManagedObjectCleanup.- Returns:
FunctionStatefor the recycling thisManagedObjectornullif no recycling is required for thisManagedObject.
-