package storm.contrib.spring.topology.component;
import backtype.storm.Config;
import backtype.storm.topology.ComponentConfigurationDeclarer;
/**
* [Class Description]
*
* @author Grant Henke
* @since 12/4/12
*/
public class ComponentConfig implements IComponentConfig {
protected Config configuration;
protected Boolean debug;
protected Integer maxSpoutPending;
protected Integer maxTaskParallelism;
protected ComponentConfig() {
this.configuration = null;
this.debug = null;
this.maxSpoutPending = null;
this.maxTaskParallelism = null;
}
public Config getConfiguration() {
return configuration;
}
public void setConfiguration(final Config configuration) {
this.configuration = configuration;
}
public Boolean getDebug() {
return debug;
}
public void setDebug(final Boolean debug) {
this.debug = debug;
}
public Integer getMaxSpoutPending() {
return maxSpoutPending;
}
public void setMaxSpoutPending(final Integer maxSpoutPending) {
this.maxSpoutPending = maxSpoutPending;
}
public Integer getMaxTaskParallelism() {
return maxTaskParallelism;
}
public void setMaxTaskParallelism(final Integer maxTaskParallelism) {
this.maxTaskParallelism = maxTaskParallelism;
}
protected void addConfigToComponent(final ComponentConfigurationDeclarer componentConfigurationDeclarer) {
if (configuration != null) {
componentConfigurationDeclarer.addConfigurations(configuration);
}
if (debug != null) {
componentConfigurationDeclarer.setDebug(debug);
}
if (maxSpoutPending != null) {
componentConfigurationDeclarer.setMaxSpoutPending(maxSpoutPending);
}
if (maxTaskParallelism != null) {
componentConfigurationDeclarer.setMaxTaskParallelism(maxTaskParallelism);
}
}
}