
package org.mule.modules.avalara.config.spring;

import org.springframework.beans.factory.xml.NamespaceHandlerSupport;


/**
 * Registers bean definitions parsers for handling elements in <code>http://www.mulesoft.org/schema/mule/avalara</code>.
 * 
 */
public class AvalaraModuleNamespaceHandler
    extends NamespaceHandlerSupport
{


    /**
     * Invoked by the {@link DefaultBeanDefinitionDocumentReader} after construction but before any custom elements are parsed. 
     * @see NamespaceHandlerSupport#registerBeanDefinitionParser(String, BeanDefinitionParser)
     * 
     */
    public void init() {
        registerBeanDefinitionParser("config", new AvalaraModuleConfigDefinitionParser());
        registerBeanDefinitionParser("get-tax", new GetTaxDefinitionParser());
        registerBeanDefinitionParser("post-tax", new PostTaxDefinitionParser());
        registerBeanDefinitionParser("commit-tax", new CommitTaxDefinitionParser());
        registerBeanDefinitionParser("get-tax-history", new GetTaxHistoryDefinitionParser());
        registerBeanDefinitionParser("cancel-tax", new CancelTaxDefinitionParser());
        registerBeanDefinitionParser("validate-address", new ValidateAddressDefinitionParser());
    }

}
