package alma.acs.monitoring;
import java.util.ArrayList;
import java.util.List;
/**
* Holds the value(s) of a logical monitor point at one instant of time.
*/
public class MonitorPointValue
{
/**
* Timestamp of the data.
*/
private final long time;
/**
* The data list.
* Contains one Number, Boolean, String etc object for a single-valued monitor point,
* or several such objects for a multi-valued monitor point.
*/
private final List<Object> data = new ArrayList<Object>();
public MonitorPointValue(long time) {
this.time = time;
}
public void addValue(Object value) {
data.add(value);
}
public long getTime() {
return time;
}
/**
* Gets the data list that contains a single Number, Boolean, String etc object for a single-valued monitor point,
* or several such objects for a multi-valued monitor point.
*/
public List<Object> getData() {
return data;
}
public boolean isMultiValued() {
return (data.size() > 1);
}
}