net.intelie.pipes.Literal Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pipes-api Show documentation
Show all versions of pipes-api Show documentation
Intelie Pipes' API classes and interfaces
package net.intelie.pipes;
import net.intelie.pipes.time.Period;
import net.intelie.pipes.types.Level;
import net.intelie.pipes.types.Type;
import net.intelie.pipes.util.LiteralRepresentation;
import java.util.Map;
@Help(omit = true)
public class Literal implements Scalar, Aggregation {
private static final long serialVersionUID = 1L;
private final Type type;
private final T value;
private final String description;
public Literal(ArgQueue queue) throws PipeException {
this(queue.get(Type.class), queue.getOptional());
}
public Literal(Type type, Object value) {
this(type, value, LiteralRepresentation.toString(type, value));
}
public Literal(Type type, Object value, String description) {
this.type = type;
this.value = type.cast(value);
this.description = description;
}
public static Literal newAuto(Object value) {
return new Literal<>(Type.infer(value), value);
}
public static Literal newNumber(Object value) {
return new Literal<>(Type.NUMBER, value);
}
public static Literal newString(Object value) {
return new Literal<>(Type.STRING, value);
}
public static Literal