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

    Fields
    Modifier and Type
    Field
    Description
    protected 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    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
     
    protected Class<?>
     
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • AbstractFlowParser

      public AbstractFlowParser()
  • Method Details

    • setJobFactoryRef

      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).
      Parameters:
      jobFactoryRef - name of the ref
    • getBeanClass

      protected Class<?> getBeanClass(Element element)
      Overrides:
      getBeanClass in class org.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 class org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
      Parameters:
      element - the top level element containing a flow definition
      parserContext - the ParserContext
    • 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 from
      reachableElementMap - Map of elements that can be reached from the startElement
      accumulator - 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 factory
      stateDef - The bean definition for the current state
      element - 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 factory
      stepId - the id of the current state if it is a step state, null otherwise
      stateDef - The bean definition for the current state
      element - 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 parse
      patterns - a list of patterns on state transitions for this element
      element - 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 state
      parserContext - the parser context for the bean factory
      abandon - the abandon flag to be used by the transition.
      Returns:
      a collection of StateTransition references
    • getBatchStatusFromEndTransitionName

      protected static FlowExecutionStatus getBatchStatusFromEndTransitionName(String elementName)
      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 context
      stateDefinition - a reference to the state implementation
      on - the pattern value
      next - the next step id
      Returns:
      a bean definition for a StateTransition