
package org.mule.modules.salesforce.adapters;

import javax.annotation.Generated;
import org.mule.api.MuleEvent;
import org.mule.api.process.ProcessAdapter;
import org.mule.api.process.ProcessCallback;
import org.mule.api.process.ProcessTemplate;
import org.mule.api.process.ProcessTemplate;
import org.mule.api.processor.MessageProcessor;
import org.mule.modules.salesforce.SalesforceModule;


/**
 * A <code>SalesforceModuleProcessAdapter</code> is a wrapper around {@link SalesforceModule } that enables custom processing strategies.
 * 
 */
@Generated(value = "Mule DevKit Version 3.4-SNAPSHOT", date = "2012-07-18T11:29:04-05:00", comments = "Build UNKNOWN_BUILDNUMBER")
public class SalesforceModuleProcessAdapter
    extends SalesforceModuleLifecycleAdapter
    implements ProcessAdapter<SalesforceModuleCapabilitiesAdapter>
{


    public<P >ProcessTemplate<P, SalesforceModuleCapabilitiesAdapter> getProcessTemplate() {
        final SalesforceModuleCapabilitiesAdapter object = this;
        return new ProcessTemplate<P,SalesforceModuleCapabilitiesAdapter>() {


            @Override
            public P execute(ProcessCallback<P, SalesforceModuleCapabilitiesAdapter> processCallback, MessageProcessor messageProcessor, MuleEvent event)
                throws Exception
            {
                return processCallback.process(object);
            }

        }
        ;
    }

}
