org.springframework.webflow.definition.registry
Interface FlowDefinitionRegistry

All Superinterfaces:
FlowDefinitionLocator, FlowDefinitionRegistryMBean
All Known Implementing Classes:
FlowDefinitionRegistryImpl

public interface FlowDefinitionRegistry
extends FlowDefinitionLocator, FlowDefinitionRegistryMBean

A container of flow definitions. Extends the FlowDefinitionRegistryMBean management interface exposing registry monitoring and management operations. Also extends FlowDefinitionLocator for accessing registered Flow definitions for execution at runtime.

Flow definition registries can be configured with a "parent" registry to provide a hook into a larger flow definition registry hierarchy.

Author:
Keith Donald

Method Summary
 FlowDefinition[] getFlowDefinitions()
          Return all flow definitions registered in this registry.
 void registerFlowDefinition(FlowDefinitionHolder flowHolder)
          Register a flow definition in this registry.
 void setParent(FlowDefinitionRegistry parent)
          Sets this registry's parent registry.
 
Methods inherited from interface org.springframework.webflow.definition.registry.FlowDefinitionLocator
getFlowDefinition
 
Methods inherited from interface org.springframework.webflow.definition.registry.FlowDefinitionRegistryMBean
containsFlowDefinition, getFlowDefinitionCount, getFlowDefinitionIds, refresh, refresh
 

Method Detail

setParent

void setParent(FlowDefinitionRegistry parent)
Sets this registry's parent registry. When asked by a client to locate a flow definition this registry will query it's parent if it cannot fullfill the lookup request itself.

Parameters:
parent - the parent flow definition registry, may be null

getFlowDefinitions

FlowDefinition[] getFlowDefinitions()
                                    throws FlowDefinitionConstructionException
Return all flow definitions registered in this registry. Note that this will trigger flow assemply for all registered flow definitions (which may be expensive).

Returns:
the flow definitions
Throws:
FlowDefinitionConstructionException - if there is a problem constructing one of the registered flow definitions

registerFlowDefinition

void registerFlowDefinition(FlowDefinitionHolder flowHolder)
Register a flow definition in this registry. Registers a "holder", not the Flow definition itself. This allows the actual Flow definition to be loaded lazily only when needed, and also rebuilt at runtime when its underlying resource changes without redeploy.

Parameters:
flowHolder - a holder holding the flow definition to register


Copyright © 2004-2007. All Rights Reserved.