
package org.mule.module.paypal.config.spring;

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


/**
 * Registers bean definitions parsers for handling elements in <code>http://www.mulesoft.org/schema/mule/paypal</code>.
 * 
 */
public class PaypalCloudConnectorNamespaceHandler
    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 PaypalCloudConnectorConfigDefinitionParser());
        registerBeanDefinitionParser("get-balance", new GetBalanceDefinitionParser());
        registerBeanDefinitionParser("address-verify", new AddressVerifyDefinitionParser());
        registerBeanDefinitionParser("capture", new CaptureDefinitionParser());
        registerBeanDefinitionParser("authorize", new AuthorizeDefinitionParser());
        registerBeanDefinitionParser("get-pal-details", new GetPalDetailsDefinitionParser());
        registerBeanDefinitionParser("re-authorize", new ReAuthorizeDefinitionParser());
        registerBeanDefinitionParser("do-void", new DoVoidDefinitionParser());
        registerBeanDefinitionParser("get-transaction-details", new GetTransactionDetailsDefinitionParser());
        registerBeanDefinitionParser("manage-pending-transaction-status", new ManagePendingTransactionStatusDefinitionParser());
        registerBeanDefinitionParser("refund-transaction", new RefundTransactionDefinitionParser());
        registerBeanDefinitionParser("mass-pay", new MassPayDefinitionParser());
        registerBeanDefinitionParser("do-direct-payment", new DoDirectPaymentDefinitionParser());
    }

}
