org.springframework.webflow.definition.registry
Class AbstractFlowDefinitionRegistryFactoryBean

java.lang.Object
  extended by org.springframework.webflow.definition.registry.AbstractFlowDefinitionRegistryFactoryBean
All Implemented Interfaces:
org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
AbstractFlowBuildingFlowRegistryFactoryBean

public abstract class AbstractFlowDefinitionRegistryFactoryBean
extends java.lang.Object
implements org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean

A base class for factory beans that create populated flow definition registries. Subclasses should override the doPopulate(FlowDefinitionRegistry) method to perform the registry population logic, typically delegating to a FlowDefinitionRegistrar strategy to perform the population.

Author:
Keith Donald

Constructor Summary
AbstractFlowDefinitionRegistryFactoryBean()
           
 
Method Summary
 void afterPropertiesSet()
           
protected  FlowDefinitionRegistry createFlowDefinitionRegistry()
          Create the flow definition registry to be populated in doPopulate(FlowDefinitionRegistry).
protected abstract  void doPopulate(FlowDefinitionRegistry registry)
          Template method subclasses must override to perform registry population.
 java.lang.Object getObject()
           
 java.lang.Class getObjectType()
           
 FlowDefinitionRegistry getRegistry()
          Returns the flow definition registry constructed by the factory bean.
protected  void init()
          Template method subclasses may override to perform factory bean initialization logic before registry population.
 boolean isSingleton()
           
 void setParent(FlowDefinitionRegistry parent)
          Sets the parent registry of the registry constructed by this factory bean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractFlowDefinitionRegistryFactoryBean

public AbstractFlowDefinitionRegistryFactoryBean()
Method Detail

setParent

public void setParent(FlowDefinitionRegistry parent)
Sets the parent registry of the registry constructed by this factory bean.

A child registry will delegate to its parent if it cannot fulfill a request to locate a flow definition itself.

Parameters:
parent - the parent flow definition registry

afterPropertiesSet

public final void afterPropertiesSet()
                              throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception

getObjectType

public java.lang.Class getObjectType()
Specified by:
getObjectType in interface org.springframework.beans.factory.FactoryBean

isSingleton

public boolean isSingleton()
Specified by:
isSingleton in interface org.springframework.beans.factory.FactoryBean

getObject

public java.lang.Object getObject()
                           throws java.lang.Exception
Specified by:
getObject in interface org.springframework.beans.factory.FactoryBean
Throws:
java.lang.Exception

getRegistry

public FlowDefinitionRegistry getRegistry()
Returns the flow definition registry constructed by the factory bean.


createFlowDefinitionRegistry

protected FlowDefinitionRegistry createFlowDefinitionRegistry()
Create the flow definition registry to be populated in doPopulate(FlowDefinitionRegistry). Subclasses can override this method if they want to use a custom flow definition registry implementation.


init

protected void init()
Template method subclasses may override to perform factory bean initialization logic before registry population. Will be called before doPopulate(FlowDefinitionRegistry). The default implementation is empty.


doPopulate

protected abstract void doPopulate(FlowDefinitionRegistry registry)
Template method subclasses must override to perform registry population.

Parameters:
registry - the flow definition registry to populate


Copyright © 2004-2007. All Rights Reserved.