package camelinaction; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.util.component.AbstractApiComponent; import camelinaction.internal.HiWorldApiCollection; import camelinaction.internal.HiWorldApiName; /** * Represents the component that manages {@link HiWorldEndpoint}. */ public class HiWorldComponent extends AbstractApiComponent<HiWorldApiName, HiWorldConfiguration, HiWorldApiCollection> { public HiWorldComponent() { super(HiWorldEndpoint.class, HiWorldApiName.class, HiWorldApiCollection.getCollection()); } public HiWorldComponent(CamelContext context) { super(context, HiWorldEndpoint.class, HiWorldApiName.class, HiWorldApiCollection.getCollection()); } @Override protected HiWorldApiName getApiName(String apiNameStr) throws IllegalArgumentException { return HiWorldApiName.fromValue(apiNameStr); } @Override protected Endpoint createEndpoint(String uri, String methodName, HiWorldApiName apiName, HiWorldConfiguration endpointConfiguration) { HiWorldEndpoint endpoint = new HiWorldEndpoint(uri, this, apiName, methodName, endpointConfiguration); endpoint.setName(methodName); return endpoint; } /** * To use the shared configuration */ @Override public void setConfiguration(HiWorldConfiguration configuration) { super.setConfiguration(configuration); } }