package com.prancingdonkey.component; import org.mule.api.MuleEventContext; import org.mule.api.endpoint.EndpointBuilder; import org.mule.api.endpoint.EndpointException; import org.mule.api.endpoint.OutboundEndpoint; import org.mule.api.lifecycle.Callable; import org.mule.api.lifecycle.Initialisable; import org.mule.api.lifecycle.InitialisationException; //<start id="lis_06_component-lifecycle"/> public class ShippingCostCalculator implements Initialisable, Callable { boolean initialized = false; EndpointBuilder errorProcessorChannelBuilder; OutboundEndpoint errorProcessorChannel; public void setErrorProcessorChannel( EndpointBuilder errorProcessorChannelBuilder) {//<co id="lis_06_component-lifecycle-1_co"/> this.errorProcessorChannelBuilder = errorProcessorChannelBuilder; } public void initialise() throws InitialisationException { if (initialized) {//<co id="lis_06_component-lifecycle-2_co"/> return; } try { errorProcessorChannel = errorProcessorChannelBuilder//<co id="lis_06_component-lifecycle-3_co"/> .buildOutboundEndpoint(); initialized = true; } catch (final EndpointException ee) { throw new InitialisationException(ee, this); } } /* Other logic here */ // <end id="lis_06_component-lifecycle"/> public Object onCall(MuleEventContext eventContext) throws Exception { return ""; } }