com.izettle.metrics.influxdb.data.InfluxDbWriteObject Maven / Gradle / Ivy
package com.izettle.metrics.influxdb.data;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* This class contains the request object to be sent to InfluxDb for writing. It contains a collection of points.
*/
public class InfluxDbWriteObject {
private String database;
private String precision;
private Set points;
private Map tags = Collections.emptyMap();
public InfluxDbWriteObject(final String database, final TimeUnit timeUnit) {
this.points = new HashSet();
this.database = database;
this.precision = toTimePrecision(timeUnit);
}
private static String toTimePrecision(TimeUnit t) {
switch (t) {
case HOURS:
return "h";
case MINUTES:
return "m";
case SECONDS:
return "s";
case MILLISECONDS:
return "ms";
case MICROSECONDS:
return "u";
case NANOSECONDS:
return "n";
default:
throw new IllegalArgumentException(
"time precision should be HOURS OR MINUTES OR SECONDS or MILLISECONDS or MICROSECONDS OR NANOSECONDS");
}
}
public String getDatabase() {
return database;
}
public void setDatabase(String database) {
this.database = database;
}
public String getPrecision() {
return precision;
}
public void setPrecision(String precision) {
this.precision = precision;
}
public Set getPoints() {
return points;
}
public void setPoints(Set points) {
this.points = points;
}
public Map getTags() {
return tags;
}
public void setTags(Map tags) {
this.tags = Collections.unmodifiableMap(tags);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy