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

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


/**
 * Registers bean definitions parsers for handling elements in <code>http://www.mulesoft.org/schema/mule/quickbooks</code>.
 * 
 */
public class QuickBooksModuleNamespaceHandler
    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 QuickBooksModuleConfigDefinitionParser());
        registerBeanDefinitionParser("create-account", new CreateAccountDefinitionParser());
        registerBeanDefinitionParser("create-bill", new CreateBillDefinitionParser());
        registerBeanDefinitionParser("create-bill-payment", new CreateBillPaymentDefinitionParser());
        registerBeanDefinitionParser("create-cash-purchase", new CreateCashPurchaseDefinitionParser());
        registerBeanDefinitionParser("create-check", new CreateCheckDefinitionParser());
        registerBeanDefinitionParser("create-credit-card-charge", new CreateCreditCardChargeDefinitionParser());
        registerBeanDefinitionParser("create-customer", new CreateCustomerDefinitionParser());
        registerBeanDefinitionParser("create-estimate", new CreateEstimateDefinitionParser());
        registerBeanDefinitionParser("create-invoice", new CreateInvoiceDefinitionParser());
        registerBeanDefinitionParser("create-item", new CreateItemDefinitionParser());
        registerBeanDefinitionParser("create-payment", new CreatePaymentDefinitionParser());
        registerBeanDefinitionParser("create-payment-method", new CreatePaymentMethodDefinitionParser());
        registerBeanDefinitionParser("create-sales-receipt", new CreateSalesReceiptDefinitionParser());
        registerBeanDefinitionParser("create-sales-term", new CreateSalesTermDefinitionParser());
        registerBeanDefinitionParser("create-vendor", new CreateVendorDefinitionParser());
        registerBeanDefinitionParser("get-object", new GetObjectDefinitionParser());
        registerBeanDefinitionParser("update-account", new UpdateAccountDefinitionParser());
        registerBeanDefinitionParser("update-bill", new UpdateBillDefinitionParser());
        registerBeanDefinitionParser("update-bill-payment", new UpdateBillPaymentDefinitionParser());
        registerBeanDefinitionParser("update-cash-purchase", new UpdateCashPurchaseDefinitionParser());
        registerBeanDefinitionParser("update-check", new UpdateCheckDefinitionParser());
        registerBeanDefinitionParser("update-credit-card-charge", new UpdateCreditCardChargeDefinitionParser());
        registerBeanDefinitionParser("update-customer", new UpdateCustomerDefinitionParser());
        registerBeanDefinitionParser("update-estimate", new UpdateEstimateDefinitionParser());
        registerBeanDefinitionParser("update-invoice", new UpdateInvoiceDefinitionParser());
        registerBeanDefinitionParser("update-item", new UpdateItemDefinitionParser());
        registerBeanDefinitionParser("update-payment", new UpdatePaymentDefinitionParser());
        registerBeanDefinitionParser("update-payment-method", new UpdatePaymentMethodDefinitionParser());
        registerBeanDefinitionParser("update-sales-receipt", new UpdateSalesReceiptDefinitionParser());
        registerBeanDefinitionParser("update-sales-term", new UpdateSalesTermDefinitionParser());
        registerBeanDefinitionParser("update-vendor", new UpdateVendorDefinitionParser());
        registerBeanDefinitionParser("delete-object", new DeleteObjectDefinitionParser());
        registerBeanDefinitionParser("find-objects", new FindObjectsDefinitionParser());
    }

}
