package org.jboss.tools.fuse.reddeer.component;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import org.jboss.tools.fuse.reddeer.utils.CamelComponentUtils;
/**
*
* @author apodhrad
*
*/
public abstract class AbstractURICamelComponent implements CamelComponent {
private String baseUri;
private List<String> keyList;
private Properties properties;
public AbstractURICamelComponent(String baseUri) {
this.baseUri = baseUri;
keyList = new ArrayList<String>();
properties = new Properties();
}
@Override
public String getLabel() {
return CamelComponentUtils.getLabel(getUri());
}
@Override
public String getTooltip() {
return getUri();
}
public String getUri() {
StringBuffer uri = new StringBuffer(baseUri);
for (String key : keyList) {
uri.append(":").append(getProperty(key));
}
return uri.toString();
}
public String getProperty(String key) {
return properties.getProperty(key);
}
public void setProperty(String key, String value) {
properties.setProperty(key, value);
}
protected void addProperty(String key, String value) {
properties.setProperty(key, value);
keyList.add(key);
}
}