Class ManagedObjectMetaDataImpl<O extends java.lang.Enum<O>>
- java.lang.Object
-
- net.officefloor.frame.impl.execute.managedobject.ManagedObjectMetaDataImpl<O>
-
- All Implemented Interfaces:
ManagedObjectMetaData<O>
public class ManagedObjectMetaDataImpl<O extends java.lang.Enum<O>> extends java.lang.Object implements ManagedObjectMetaData<O>
Meta-data of theManagedObject.- Author:
- Daniel Sagenschneider
-
-
Constructor Summary
Constructors Constructor Description ManagedObjectMetaDataImpl(java.lang.String boundManagedObjectName, java.lang.Class<?> objectType, int instanceIndex, ManagedObjectSource<?,?> source, ManagedObjectPool pool, boolean isContextAwareManagedObject, AssetManagerReference sourcingManagerReference, boolean isManagedObjectAsynchronous, AssetManagerReference operationsManagerReference, boolean isCoordinatingManagedObject, ManagedObjectIndex[] dependencyMapping, long timeout, ManagedObjectGovernanceMetaData<?>[] governanceMetaData, java.util.logging.Logger logger)Instantiate.
-
Method Summary
-
-
-
Constructor Detail
-
ManagedObjectMetaDataImpl
public ManagedObjectMetaDataImpl(java.lang.String boundManagedObjectName, java.lang.Class<?> objectType, int instanceIndex, ManagedObjectSource<?,?> source, ManagedObjectPool pool, boolean isContextAwareManagedObject, AssetManagerReference sourcingManagerReference, boolean isManagedObjectAsynchronous, AssetManagerReference operationsManagerReference, boolean isCoordinatingManagedObject, ManagedObjectIndex[] dependencyMapping, long timeout, ManagedObjectGovernanceMetaData<?>[] governanceMetaData, java.util.logging.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 Detail
-
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
public java.lang.String getBoundManagedObjectName()
Description copied from interface:ManagedObjectMetaDataObtains the name of theManagedObjectbound within theManagedObjectScope.- Specified by:
getBoundManagedObjectNamein interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
- Name of the
ManagedObjectbound within theManagedObjectScope.
-
getLogger
public java.util.logging.Logger getLogger()
Description copied from interface:ManagedObjectMetaDataObtains theLoggerfor theManagedObject.- Specified by:
getLoggerin interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
Loggerfor theManagedObject.
-
getObjectType
public java.lang.Class<?> getObjectType()
Description copied from interface:ManagedObjectMetaDataObtains the type of theObjectreturned from theManagedObject.- Specified by:
getObjectTypein interfaceManagedObjectMetaData<O extends java.lang.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 java.lang.Enum<O>>- Returns:
- Instance index of the
ManagedObjectbound to theManagedObjectIndex.
-
getSourcingManagerReference
public AssetManagerReference getSourcingManagerReference()
Description copied from interface:ManagedObjectMetaDataObtains theAssetManagerReferencethat manages the sourcing of theManagedObject.- Specified by:
getSourcingManagerReferencein interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
AssetManagerReferencethat manages the sourcing of theManagedObject.
-
getManagedObjectSource
public ManagedObjectSource<?,?> getManagedObjectSource()
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectSourcefor theManagedObject.- Specified by:
getManagedObjectSourcein interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
ManagedObjectSourcefor theManagedObject.
-
getManagedObjectPool
public ManagedObjectPool getManagedObjectPool()
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectPoolfor theManagedObject.- Specified by:
getManagedObjectPoolin interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
ManagedObjectPoolfor theManagedObject.
-
getStartupFunctions
public ManagedObjectStartupFunction[] getStartupFunctions()
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectStartupFunctioninstances for theManagedObjectSource.- Specified by:
getStartupFunctionsin interfaceManagedObjectMetaData<O extends java.lang.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 java.lang.Enum<O>>- Returns:
- Time out in milliseconds.
-
isContextAwareManagedObject
public boolean isContextAwareManagedObject()
Description copied from interface:ManagedObjectMetaDataIndicates if theManagedObjectimplementsContextAwareManagedObject.- Specified by:
isContextAwareManagedObjectin interfaceManagedObjectMetaData<O extends java.lang.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 java.lang.Enum<O>>- Returns:
trueif theManagedObjectimplementsAsynchronousManagedObject.
-
getOperationsManagerReference
public AssetManagerReference getOperationsManagerReference()
Description copied from interface:ManagedObjectMetaDataObtains theAssetManagerReferencethat manages asynchronous operations on theManagedObject.- Specified by:
getOperationsManagerReferencein interfaceManagedObjectMetaData<O extends java.lang.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 java.lang.Enum<O>>- Returns:
trueif theManagedObjectimplementsCoordinatingManagedObject.
-
getFunctionLoop
public FunctionLoop getFunctionLoop()
Description copied from interface:ManagedObjectMetaDataObtains theFunctionLoopfor theManagedObject.- Specified by:
getFunctionLoopin interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
FunctionLoopfor theManagedObject.
-
getMonitorClock
public MonitorClock getMonitorClock()
Description copied from interface:ManagedObjectMetaDataObtains theMonitorClock.- Specified by:
getMonitorClockin interfaceManagedObjectMetaData<O extends java.lang.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 java.lang.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
public ObjectRegistry<O> createObjectRegistry(ManagedFunctionContainer currentContainer)
Description copied from interface:ManagedObjectMetaDataCreates theObjectRegistryfor theManagedObject.- Specified by:
createObjectRegistryin interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Parameters:
currentContainer-ManagedFunctionContainer.- Returns:
ObjectRegistry.
-
getGovernanceMetaData
public ManagedObjectGovernanceMetaData<?>[] getGovernanceMetaData()
Description copied from interface:ManagedObjectMetaDataObtains theManagedObjectGovernanceMetaDataapplicable to thisManagedObject.- Specified by:
getGovernanceMetaDatain interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
ManagedObjectGovernanceMetaDataapplicable to thisManagedObject.
-
getPreLoadAdministration
public ManagedObjectAdministrationMetaData<?,?,?>[] getPreLoadAdministration()
Description copied from interface:ManagedObjectMetaDataObtains the pre-loadManagedObjectAdministrationMetaData.- Specified by:
getPreLoadAdministrationin interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Returns:
- Pre-load
ManagedObjectAdministrationMetaData.
-
recycle
public FunctionState recycle(ManagedObject managedObject, ManagedObjectCleanup cleanup)
Description copied from interface:ManagedObjectMetaDataCreates theFunctionStatefor the recycling of theManagedObject.- Specified by:
recyclein interfaceManagedObjectMetaData<O extends java.lang.Enum<O>>- Parameters:
managedObject-ManagedObjectto be recycled. Obtained by theRecycleManagedObjectParameter.getManagedObject().cleanup-ManagedObjectCleanup.- Returns:
FunctionStatefor the recycling thisManagedObjectornullif no recycling is required for thisManagedObject.
-
-