org.mule.config.spring.parsers.delegate
Class AbstractSerialDelegatingDefinitionParser

java.lang.Object
  extended by org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
      extended by org.mule.config.spring.parsers.delegate.AbstractDelegatingDefinitionParser
          extended by org.mule.config.spring.parsers.delegate.AbstractSerialDelegatingDefinitionParser
All Implemented Interfaces:
MuleDefinitionParser, MuleDefinitionParserConfiguration, org.springframework.beans.factory.xml.BeanDefinitionParser
Direct Known Subclasses:
AbstractFirstResultSerialDefinitionParser, ForwardingRouterDefinitionParser

public abstract class AbstractSerialDelegatingDefinitionParser
extends AbstractDelegatingDefinitionParser

This allows a set of definition parsers to be used, one after another, to process the same element. This lets multiple beans be generated from a single element.

Since each bean typically needs a spearate name, this class guarantees that the name and id attributes are reset before each call. Delegates can then modify these on the element without worrying about interfering with other parsers.

Typically, subclasses will add additional processing with PreProcessor and PostProcessor anonymous classes.


Field Summary
 
Fields inherited from class org.mule.config.spring.parsers.delegate.AbstractDelegatingDefinitionParser
logger
 
Fields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
ID_ATTRIBUTE
 
Constructor Summary
AbstractSerialDelegatingDefinitionParser()
           
AbstractSerialDelegatingDefinitionParser(boolean doReset)
           
 
Method Summary
protected  MuleDefinitionParserConfiguration addDelegate(MuleDefinitionParser delegate)
           
protected  void addHandledException(Class exception)
           
static void disableAttribute(MuleDefinitionParser delegate, String attribute)
           
static void disableAttributes(MuleDefinitionParser delegate, String[] attributes)
           
static void disableAttributes(MuleDefinitionParser delegate, String[][] attributes)
           
protected  org.springframework.beans.factory.support.AbstractBeanDefinition doSingleBean(int index, MuleDefinitionParser parser, Element element, org.springframework.beans.factory.xml.ParserContext parserContext)
           
static void enableAttribute(MuleDefinitionParser delegate, String attribute)
           
static void enableAttributes(MuleDefinitionParser delegate, String[] attributes)
           
static void enableAttributes(MuleDefinitionParser delegate, String[][] attributes)
           
static void enableAttributes(MuleDefinitionParser delegate, String[] attributes, boolean enable)
          A utility class for selecting certain attributes.
protected  boolean isExceptionHandled(Exception e)
           
 org.springframework.beans.factory.support.AbstractBeanDefinition muleParse(Element element, org.springframework.beans.factory.xml.ParserContext parserContext)
           
protected  void resetAttribute(Element element, String name, String value)
           
protected  void resetNameAndId(Element element)
           
 
Methods inherited from class org.mule.config.spring.parsers.delegate.AbstractDelegatingDefinitionParser
addAlias, addBeanFlag, addCollection, addIgnored, addMapping, addMapping, addMapping, addReference, getBeanName, getDelegate, parseInternal, registerPostProcessor, registerPreProcessor, removeIgnored, setIgnoredDefault, size
 
Methods inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
parse, postProcessComponentDefinition, registerBeanDefinition, resolveId, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.xml.BeanDefinitionParser
parse
 

Constructor Detail

AbstractSerialDelegatingDefinitionParser

public AbstractSerialDelegatingDefinitionParser()

AbstractSerialDelegatingDefinitionParser

public AbstractSerialDelegatingDefinitionParser(boolean doReset)
Parameters:
doReset - Should the name be reset after called. This is typically true (it protects the parent from changes made by children) unless this is itself nested.
Method Detail

muleParse

public org.springframework.beans.factory.support.AbstractBeanDefinition muleParse(Element element,
                                                                                  org.springframework.beans.factory.xml.ParserContext parserContext)

isExceptionHandled

protected boolean isExceptionHandled(Exception e)

doSingleBean

protected org.springframework.beans.factory.support.AbstractBeanDefinition doSingleBean(int index,
                                                                                        MuleDefinitionParser parser,
                                                                                        Element element,
                                                                                        org.springframework.beans.factory.xml.ParserContext parserContext)

addDelegate

protected MuleDefinitionParserConfiguration addDelegate(MuleDefinitionParser delegate)
Overrides:
addDelegate in class AbstractDelegatingDefinitionParser

resetNameAndId

protected void resetNameAndId(Element element)

resetAttribute

protected void resetAttribute(Element element,
                              String name,
                              String value)

addHandledException

protected void addHandledException(Class exception)

enableAttributes

public static void enableAttributes(MuleDefinitionParser delegate,
                                    String[] attributes,
                                    boolean enable)
A utility class for selecting certain attributes. If the attributes are enabled, the default is set to block others; if specific attributes are disabled the default is set to allow others.

Parameters:
delegate -
attributes -
enable -

enableAttributes

public static void enableAttributes(MuleDefinitionParser delegate,
                                    String[][] attributes)

enableAttributes

public static void enableAttributes(MuleDefinitionParser delegate,
                                    String[] attributes)

enableAttribute

public static void enableAttribute(MuleDefinitionParser delegate,
                                   String attribute)

disableAttributes

public static void disableAttributes(MuleDefinitionParser delegate,
                                     String[][] attributes)

disableAttributes

public static void disableAttributes(MuleDefinitionParser delegate,
                                     String[] attributes)

disableAttribute

public static void disableAttribute(MuleDefinitionParser delegate,
                                    String attribute)


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.