package com.intrbiz.bergamot.compat.config.model;
import java.util.LinkedList;
import java.util.List;
import com.intrbiz.bergamot.compat.config.builder.metadata.ParameterName;
import com.intrbiz.bergamot.compat.config.builder.metadata.TypeName;
import com.intrbiz.bergamot.compat.config.parser.model.ObjectParameter;
@TypeName("timeperiod")
public class NagiosTimeperiodCfg extends ConfigObject<NagiosTimeperiodCfg>
{
private String timeperiodName;
private String alias;
private List<String> exclude;
private List<String> periods;
public NagiosTimeperiodCfg()
{
super();
}
public String getTimeperiodName()
{
return timeperiodName;
}
@ParameterName("timeperiod_name")
public void setTimeperiodName(String timeperiodName)
{
this.timeperiodName = timeperiodName;
}
public String getAlias()
{
return alias;
}
@ParameterName("alias")
public void setAlias(String alias)
{
this.alias = alias;
}
public List<String> getExclude()
{
return exclude;
}
@ParameterName("exclude")
public void setExclude(List<String> exclude)
{
this.exclude = exclude;
}
public List<String> getPeriods()
{
return periods;
}
public void setPeriods(List<String> periods)
{
this.periods = periods;
}
@Override
public boolean unhandledObjectParameter(ObjectParameter parameter)
{
if (this.periods == null)
{
this.periods = new LinkedList<String>();
}
this.periods.add(parameter.getName() + " " + parameter.getValue());
return true;
}
public String resolveTimeperiodName()
{
return this.resolveProperty((p) -> { return p.getTimeperiodName(); });
}
public String resolveAlias()
{
return this.resolveProperty((p) -> { return p.getAlias(); });
}
public List<String> resolveExclude()
{
return this.resolveProperty((p) -> { return p.getExclude(); });
}
public List<String> resolvePeriods()
{
return this.resolveProperty((p) -> { return p.getPeriods(); });
}
public String toString()
{
return "timeperiod { " + this.timeperiodName + " }";
}
}