package com.intrbiz.bergamot.model.message;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
/**
* Contact message object
*/
@JsonTypeName("bergamot.command")
public class CommandMO extends SecuredObjectMO
{
@JsonProperty("engine")
private String engine;
@JsonProperty("executor")
private String executor;
@JsonProperty("parameters")
private List<ParameterMO> parameters = new LinkedList<ParameterMO>();
@JsonProperty("category")
private String category;
@JsonProperty("application")
private String application;
@JsonProperty("script")
private String script;
public CommandMO()
{
super();
}
public String getEngine()
{
return engine;
}
public void setEngine(String engine)
{
this.engine = engine;
}
public String getExecutor()
{
return executor;
}
public void setExecutor(String executor)
{
this.executor = executor;
}
public String getCategory()
{
return category;
}
public void setCategory(String category)
{
this.category = category;
}
public String getApplication()
{
return application;
}
public void setApplication(String application)
{
this.application = application;
}
public String getScript()
{
return script;
}
public void setScript(String script)
{
this.script = script;
}
public List<ParameterMO> getParameters()
{
return parameters;
}
public void setParameters(List<ParameterMO> parameters)
{
this.parameters = parameters;
}
public void addParameter(String name, String value)
{
this.parameters.add(new ParameterMO(name, value));
}
public void setParameter(String name, String value)
{
this.removeParameter(name);
this.addParameter(name, value);
}
public void removeParameter(String name)
{
for (Iterator<ParameterMO> i = this.parameters.iterator(); i.hasNext();)
{
if (name.equals(i.next().getName()))
{
i.remove();
break;
}
}
}
public void clearParameters()
{
this.parameters.clear();
}
public String getParameter(String name)
{
return this.getParameter(name, null);
}
public String getParameter(String name, String defaultValue)
{
for (ParameterMO parameter : this.parameters)
{
if (name.equals(parameter.getName())) return parameter.getValue();
}
return defaultValue;
}
}