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

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


/**
 * Registers bean definitions parsers for handling elements in <code>http://www.mulesoft.org/schema/mule/linkedin</code>.
 * 
 */
public class LinkedInConnectorNamespaceHandler
    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 LinkedInConnectorConfigDefinitionParser());
        registerBeanDefinitionParser("get-profile-for-current-user", new GetProfileForCurrentUserDefinitionParser());
        registerBeanDefinitionParser("get-profile-by-id", new GetProfileByIdDefinitionParser());
        registerBeanDefinitionParser("get-profile-by-url", new GetProfileByUrlDefinitionParser());
        registerBeanDefinitionParser("get-network-updates", new GetNetworkUpdatesDefinitionParser());
        registerBeanDefinitionParser("get-user-updates", new GetUserUpdatesDefinitionParser());
        registerBeanDefinitionParser("get-user-updates-by-id", new GetUserUpdatesByIdDefinitionParser());
        registerBeanDefinitionParser("get-network-update-comments", new GetNetworkUpdateCommentsDefinitionParser());
        registerBeanDefinitionParser("get-network-update-likes", new GetNetworkUpdateLikesDefinitionParser());
        registerBeanDefinitionParser("get-connections-for-current-user", new GetConnectionsForCurrentUserDefinitionParser());
        registerBeanDefinitionParser("get-connections-by-id", new GetConnectionsByIdDefinitionParser());
        registerBeanDefinitionParser("get-connections-by-url", new GetConnectionsByUrlDefinitionParser());
        registerBeanDefinitionParser("search-people", new SearchPeopleDefinitionParser());
        registerBeanDefinitionParser("search-people-with-facets", new SearchPeopleWithFacetsDefinitionParser());
        registerBeanDefinitionParser("search-people-with-facet-fields", new SearchPeopleWithFacetFieldsDefinitionParser());
        registerBeanDefinitionParser("post-network-update", new PostNetworkUpdateDefinitionParser());
        registerBeanDefinitionParser("post-comment", new PostCommentDefinitionParser());
        registerBeanDefinitionParser("like-post", new LikePostDefinitionParser());
        registerBeanDefinitionParser("unlike-post", new UnlikePostDefinitionParser());
        registerBeanDefinitionParser("update-current-status", new UpdateCurrentStatusDefinitionParser());
        registerBeanDefinitionParser("delete-current-status", new DeleteCurrentStatusDefinitionParser());
        registerBeanDefinitionParser("send-message", new SendMessageDefinitionParser());
        registerBeanDefinitionParser("send-invite-by-email", new SendInviteByEmailDefinitionParser());
        registerBeanDefinitionParser("post-share", new PostShareDefinitionParser());
        registerBeanDefinitionParser("re-share", new ReShareDefinitionParser());
    }

}
