Class AbstractFlowParser
java.lang.Object
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
org.springframework.batch.core.configuration.xml.AbstractFlowParser
- All Implemented Interfaces:
org.springframework.beans.factory.xml.BeanDefinitionParser
- Direct Known Subclasses:
InlineFlowParser
,TopLevelFlowParser
public abstract class AbstractFlowParser
extends org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
- Author:
- Dave Syer, Michael Minella, Chris Schaefer
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
protected static final String
protected static int
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
Fields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
ID_ATTRIBUTE, NAME_ATTRIBUTE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected static Collection<org.springframework.beans.factory.config.BeanDefinition>
createTransition
(FlowExecutionStatus status, String on, String next, String exitCode, org.springframework.beans.factory.config.BeanDefinition stateDef, org.springframework.beans.factory.xml.ParserContext parserContext, boolean abandon) protected void
doParse
(Element element, org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder builder) protected void
findAllReachableElements
(String startElement, Map<String, Set<String>> reachableElementMap, Set<String> accumulator) Find all of the elements reachable from the startElement.protected static FlowExecutionStatus
getBatchStatusFromEndTransitionName
(String elementName) protected Class<?>
getBeanClass
(Element element) static Collection<org.springframework.beans.factory.config.BeanDefinition>
getNextElements
(org.springframework.beans.factory.xml.ParserContext parserContext, String stepId, org.springframework.beans.factory.config.BeanDefinition stateDef, Element element) static Collection<org.springframework.beans.factory.config.BeanDefinition>
getNextElements
(org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.config.BeanDefinition stateDef, Element element) static org.springframework.beans.factory.config.BeanDefinition
getStateTransitionReference
(org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.config.BeanDefinition stateDefinition, String on, String next) protected void
setJobFactoryRef
(String jobFactoryRef) Convenience method for subclasses to set the job factory reference if it is available (null is fine, but the quality of error reports is better if it is available).protected static void
verifyUniquePattern
(Element transitionElement, List<String> patterns, Element element, org.springframework.beans.factory.xml.ParserContext parserContext) Methods inherited from class org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
doParse, getBeanClassName, getParentName, parseInternal
Methods inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
parse, postProcessComponentDefinition, registerBeanDefinition, resolveId, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliases
-
Field Details
-
ID_ATTR
- See Also:
-
STEP_ELE
- See Also:
-
FLOW_ELE
- See Also:
-
DECISION_ELE
- See Also:
-
SPLIT_ELE
- See Also:
-
NEXT_ATTR
- See Also:
-
NEXT_ELE
- See Also:
-
END_ELE
- See Also:
-
FAIL_ELE
- See Also:
-
STOP_ELE
- See Also:
-
ON_ATTR
- See Also:
-
TO_ATTR
- See Also:
-
RESTART_ATTR
- See Also:
-
EXIT_CODE_ATTR
- See Also:
-
endCounter
protected static int endCounter
-
-
Constructor Details
-
AbstractFlowParser
public AbstractFlowParser()
-
-
Method Details
-
setJobFactoryRef
Convenience method for subclasses to set the job factory reference if it is available (null is fine, but the quality of error reports is better if it is available).- Parameters:
jobFactoryRef
- name of the ref
-
getBeanClass
- Overrides:
getBeanClass
in classorg.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
-
doParse
protected void doParse(Element element, org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder builder) - Overrides:
doParse
in classorg.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
- Parameters:
element
- the top level element containing a flow definitionparserContext
- theParserContext
-
findAllReachableElements
protected void findAllReachableElements(String startElement, Map<String, Set<String>> reachableElementMap, Set<String> accumulator) Find all of the elements reachable from the startElement.- Parameters:
startElement
- name of the element to start fromreachableElementMap
- Map of elements that can be reached from the startElementaccumulator
- a collection of reachable element names
-
getNextElements
public static Collection<org.springframework.beans.factory.config.BeanDefinition> getNextElements(org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.config.BeanDefinition stateDef, Element element) - Parameters:
parserContext
- the parser context for the bean factorystateDef
- The bean definition for the current stateelement
- the <step/gt; element to parse- Returns:
- a collection of
StateTransition
references
-
getNextElements
public static Collection<org.springframework.beans.factory.config.BeanDefinition> getNextElements(org.springframework.beans.factory.xml.ParserContext parserContext, String stepId, org.springframework.beans.factory.config.BeanDefinition stateDef, Element element) - Parameters:
parserContext
- the parser context for the bean factorystepId
- the id of the current state if it is a step state, null otherwisestateDef
- The bean definition for the current stateelement
- the <step/gt; element to parse- Returns:
- a collection of
StateTransition
references
-
verifyUniquePattern
protected static void verifyUniquePattern(Element transitionElement, List<String> patterns, Element element, org.springframework.beans.factory.xml.ParserContext parserContext) - Parameters:
transitionElement
- The element to parsepatterns
- a list of patterns on state transitions for this elementelement
-Element
representing the source.parserContext
- the parser context for the bean factory
-
createTransition
protected static Collection<org.springframework.beans.factory.config.BeanDefinition> createTransition(FlowExecutionStatus status, String on, String next, String exitCode, org.springframework.beans.factory.config.BeanDefinition stateDef, org.springframework.beans.factory.xml.ParserContext parserContext, boolean abandon) - Parameters:
status
- The batch status that this transition will set. Use BatchStatus.UNKNOWN if not applicable.on
- The pattern that this transition should match. Use null for "no restriction" (same as "*").next
- The state to which this transition should go. Use null if not applicable.exitCode
- The exit code that this transition will set. Use null to default to batchStatus.stateDef
- The bean definition for the current stateparserContext
- the parser context for the bean factoryabandon
- the abandon flag to be used by the transition.- Returns:
- a collection of
StateTransition
references
-
getBatchStatusFromEndTransitionName
- Parameters:
elementName
- An end transition element name- Returns:
- the BatchStatus corresponding to the transition name
-
getStateTransitionReference
public static org.springframework.beans.factory.config.BeanDefinition getStateTransitionReference(org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.config.BeanDefinition stateDefinition, String on, String next) - Parameters:
parserContext
- the parser contextstateDefinition
- a reference to the state implementationon
- the pattern valuenext
- the next step id- Returns:
- a bean definition for a
StateTransition
-