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
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringprotected static intprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final StringFields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
ID_ATTRIBUTE, NAME_ATTRIBUTE -
Constructor Summary
Constructors -
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 voiddoParse(Element element, org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder builder) protected voidfindAllReachableElements(String startElement, Map<String, Set<String>> reachableElementMap, Set<String> accumulator) Find all of the elements reachable from the startElement.protected static FlowExecutionStatusgetBatchStatusFromEndTransitionName(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.BeanDefinitiongetStateTransitionReference(org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.config.BeanDefinition stateDefinition, String on, String next) protected voidsetJobFactoryRef(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 voidverifyUniquePattern(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, parseInternalMethods 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:
getBeanClassin 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:
doParsein 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
StateTransitionreferences
-
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
StateTransitionreferences
-
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-Elementrepresenting 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
StateTransitionreferences
-
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
-