Package net.officefloor.spring
Class SpringBeanManagedObjectSource
java.lang.Object
net.officefloor.frame.api.managedobject.source.impl.AbstractAsyncManagedObjectSource<O,F>
net.officefloor.frame.api.managedobject.source.impl.AbstractManagedObjectSource<Indexed,None>
net.officefloor.spring.SpringBeanManagedObjectSource
- All Implemented Interfaces:
CoordinatingManagedObject<Indexed>,ManagedObject,ManagedObjectSource<Indexed,None>
public class SpringBeanManagedObjectSource
extends AbstractManagedObjectSource<Indexed,None>
implements ManagedObject, CoordinatingManagedObject<Indexed>
Spring bean
ManagedObjectSource.- Author:
- Daniel Sagenschneider
-
Nested Class Summary
Nested classes/interfaces inherited from class net.officefloor.frame.api.managedobject.source.impl.AbstractAsyncManagedObjectSource
AbstractAsyncManagedObjectSource.DependencyLabeller<K extends Enum<K>>, AbstractAsyncManagedObjectSource.ExecutionLabeller, AbstractAsyncManagedObjectSource.Labeller<K extends Enum<K>>, AbstractAsyncManagedObjectSource.MetaDataContext<O extends Enum<O>,F extends Enum<F>>, AbstractAsyncManagedObjectSource.SpecificationContext -
Constructor Summary
ConstructorsConstructorDescriptionSpringBeanManagedObjectSource(String beanName, Class<?> objectType, org.springframework.context.ConfigurableApplicationContext springContext, SpringDependency[] springDependencies) Instantiate. -
Method Summary
Modifier and TypeMethodDescriptionprotected ManagedObjectSynchronously obtains theManagedObject.Obtains the object being managed.protected voidOverridden to load meta-data.voidloadObjects(ObjectRegistry<Indexed> registry) Loads the Objects of theManagedObjectinstances to be referenced by thisCoordinatingManagedObject.protected voidOverridden to load specifications.Methods inherited from class net.officefloor.frame.api.managedobject.source.impl.AbstractManagedObjectSource
sourceManagedObjectMethods inherited from class net.officefloor.frame.api.managedobject.source.impl.AbstractAsyncManagedObjectSource
getSpecification, init, start, stop
-
Constructor Details
-
SpringBeanManagedObjectSource
public SpringBeanManagedObjectSource(String beanName, Class<?> objectType, org.springframework.context.ConfigurableApplicationContext springContext, SpringDependency[] springDependencies) Instantiate.- Parameters:
beanName- Name of the Spring bean.objectType- Object type expected from Spring.springContext- SpringConfigurableApplicationContext.springDependencies-SpringDependencyinstances.
-
-
Method Details
-
loadSpecification
Description copied from class:AbstractAsyncManagedObjectSourceOverridden to load specifications.- Specified by:
loadSpecificationin classAbstractAsyncManagedObjectSource<Indexed,None> - Parameters:
context- Specifications.
-
loadMetaData
protected void loadMetaData(AbstractAsyncManagedObjectSource.MetaDataContext<Indexed, None> context) throws ExceptionDescription copied from class:AbstractAsyncManagedObjectSourceOverridden to load meta-data.- Specified by:
loadMetaDatain classAbstractAsyncManagedObjectSource<Indexed,None> - Parameters:
context- Meta-data.- Throws:
Exception- If fails to load the meta-data.
-
getManagedObject
Description copied from class:AbstractManagedObjectSourceSynchronously obtains theManagedObject.- Specified by:
getManagedObjectin classAbstractManagedObjectSource<Indexed,None> - Returns:
ManagedObject.- Throws:
Throwable- If fails to obtain theManagedObject.
-
loadObjects
Description copied from interface:CoordinatingManagedObjectLoads the Objects of the
ManagedObjectinstances to be referenced by thisCoordinatingManagedObject.References to the loaded Objects must be released on recycling the
ManagedObject.- Specified by:
loadObjectsin interfaceCoordinatingManagedObject<Indexed>- Parameters:
registry- Registry of the Objects for theManagedObjectinstances.- Throws:
Throwable- Should thisCoordinatingManagedObjectfail to load theManagedObject.
-
getObject
Description copied from interface:ManagedObjectObtains the object being managed.- Specified by:
getObjectin interfaceManagedObject- Returns:
- Object being managed.
- Throws:
Throwable- Indicating failed to obtain the object for use.
-