
org.moskito.controlagent.AgentConfig Maven / Gradle / Ivy
package org.moskito.controlagent;
import net.anotheria.util.StringUtils;
import org.configureme.annotations.AbortedConfiguration;
import org.configureme.annotations.AfterConfiguration;
import org.configureme.annotations.Configure;
import org.configureme.annotations.ConfigureMe;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* Configuration of the agent.
*
* @author lrosenberg
* @since 15.04.13 20:33
*/
@ConfigureMe(name="agent")
public class AgentConfig {
/**
* Logger.
*/
private static Logger log = LoggerFactory.getLogger(AgentConfig.class);
/**
* Included producer names, comma separated or '*'.
*/
@Configure
private String includedProducers;
/**
* Excluded producer names, comma separated.
*/
@Configure
private String excludedProducers;
/**
* Post-processed list with included producers.
*/
private List includedProducersList;
/**
* Post-processed list with excluded producers.
*/
private List excludedProducersList;
public String getIncludedProducers() {
return includedProducers;
}
public void setIncludedProducers(String includedProducers) {
this.includedProducers = includedProducers;
}
public String getExcludedProducers() {
return excludedProducers;
}
public void setExcludedProducers(String excludedProducers) {
this.excludedProducers = excludedProducers;
}
@AfterConfiguration @AbortedConfiguration
public void afterConfiguration(){
if (includedProducers==null || includedProducers.length()==0 || includedProducers.trim().equals("*")){
includedProducersList = Collections.EMPTY_LIST;
}else{
String tt[] = StringUtils.tokenize(includedProducers, ',');
for (int i=0; i getIncludedProducersList(){
return includedProducersList;
}
public List getExcludedProducersList(){
return excludedProducersList;
}
/**
* Returns true if all producers should be included.
* @return
*/
public boolean includeAll(){
return includedProducersList.size()==0 && excludedProducersList.size() == 0;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy