package camelinaction.component;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
/**
* Represents a My endpoint.
*/
@UriEndpoint(scheme = "mycomponent", title = "My", syntax="mycomponent:name", consumerClass = MyConsumer.class, label = "My")
public class MyEndpoint extends DefaultEndpoint {
@UriPath @Metadata(required = "true")
private String name;
@UriParam(defaultValue = "10")
private int option = 10;
public MyEndpoint() {
}
public MyEndpoint(String uri, MyComponent component) {
super(uri, component);
}
public MyEndpoint(String endpointUri) {
super(endpointUri);
}
public Producer createProducer() throws Exception {
return new MyProducer(this);
}
public Consumer createConsumer(Processor processor) throws Exception {
return new MyConsumer(this, processor);
}
public boolean isSingleton() {
return true;
}
/**
* Some description of this option, and what it does
*/
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
/**
* Some description of this option, and what it does
*/
public void setOption(int option) {
this.option = option;
}
public int getOption() {
return option;
}
}