@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeNumberField("value", v.getValue().getFloatValue()); jGen.writeStringField("@type", "SampledFloat"); } },
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeNumberField(SINGLEVALUE, v.getValue().getFloatValue()); jGen.writeStringField("@type", "SampledFloat"); } },
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeStringField(SINGLEVALUE, v.getValue().getStringValue()); jGen.writeStringField("@type", "SampledString"); } };
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeNumberField("value", v.getValue().getIntegerValue()); jGen.writeStringField("@type", "SampledInteger"); } },
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeNumberField("value", v.getValue().getLongValue()); jGen.writeStringField("@type", "SampledLong"); } },
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeStringField("value", v.getValue().getStringValue()); jGen.writeStringField("@type", "SampledString"); } },
public static SampledValuesWriter forValue(SampledValue v) { Class<?> valueType = v.getValue().getClass(); for (SampledValuesWriter writer : values()) { if (valueType.isAssignableFrom(writer.type)) { return writer; } } return DefaultWriter; }
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeStringField(SINGLEVALUE, v.getValue().getStringValue()); jGen.writeStringField("@type", "SampledString"); } },
@Override public SampledValue interpolate(SampledValue x0, SampledValue x1, long t, Class<? extends Value> valueType) { if (x0 != null) { return new SampledValue(x0.getValue(), t, x0.getQuality()); } else if (x1 != null) { return new SampledValue(x1.getValue(), t, Quality.BAD); } throw new IllegalArgumentException("Cannot perform step interpolation with both support points being null."); }
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeBooleanField(SINGLEVALUE, v.getValue().getBooleanValue()); jGen.writeStringField("@type", "SampledBoolean"); } },
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeBooleanField("value", v.getValue().getBooleanValue()); jGen.writeStringField("@type", "SampledBoolean"); } },
private SampledValue interpolateBoolean(SampledValue x0, SampledValue x1, long t) { // linear interpolation on booleans is the same as nearest interpolation final long dt0 = Math.abs(t - x0.getTimestamp()); final long dt1 = Math.abs(t - x1.getTimestamp()); if (dt0 <= dt1) return new SampledValue(x0.getValue(), t, x0.getQuality()); else return new SampledValue(x1.getValue(), t, x1.getQuality()); }
protected void init2() { for (Map.Entry<Integer, SampledValue> entry : comingValues.entrySet()) { final int key = entry.getKey(); final SampledValue sv = entry.getValue(); final float val = sv.getQuality() == Quality.GOOD ? (doAverage ? sv.getValue().getFloatValue() : 0) : Float.NaN; final boolean ok = !Float.isNaN(val); nextValuesIntegrated.put(key, new SampledValue(ok ? new FloatValue(val) : FloatValue.NAN, sv.getTimestamp(), ok ? Quality.GOOD : Quality.BAD)); } }
@Override protected float getValue(Schedule element) { SampledValue rawVal = element.getValue(currentAlignedTime); if(rawVal != null) return element.getValue(currentAlignedTime).getValue().getFloatValue(); else return 0; } }).getAggregatedValue(sources.keySet(), mode);
private static final Object getValue(final SampledValue sv) { if (sv == null || sv.getQuality() == Quality.BAD) return ""; final float value = sv.getValue().getFloatValue(); return Float.isFinite(value) ? value : ""; }
@Override public void channelEvent(EventType type, List<SampledValueContainer> channels) { // System.out.print("ChannelEvent --> "); for (SampledValueContainer c : channels) { try { updateChannelValue(c.getChannelLocator().getChannelAddress(), c.getSampledValue().getValue()); } catch (IllegalConversionException e) { logger.debug("Changed channel value could not be read"); } } }
@Override public void channelEvent(EventType type, List<SampledValueContainer> channels) { // System.out.print("ChannelEvent --> "); for (SampledValueContainer c : channels) { try { updateChannelValue(c.getChannelLocator().getChannelAddress(), c.getSampledValue().getValue()); } catch (IllegalConversionException e) { logger.debug("Changed channel value could not be read"); } } }
@Override public final SampledValue apply(SampledValue value) { return new SampledValue(new FloatValue(value.getValue().getFloatValue() * m_factor), value.getTimestamp(), value.getQuality()); }
@Override public final SampledValue apply(SampledValue value) { return new SampledValue(new FloatValue(value.getValue().getFloatValue() + m_addend), value.getTimestamp(), value.getQuality()); }