@Override public Object calculate(List<Object> args) { List<String> data = new ArrayList<>(); for (Object arg : args) { VString str = (VString) arg; if (str == null || str.getValue() == null) data.add(null); else data.add(str.getValue()); } return ValueFactory.newVStringArray(data, ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args)); }
@Override public final Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumber arg1 = (VNumber) args.get(0); VNumber arg2 = (VNumber) args.get(1); return ValueFactory.newVBoolean( calculate(arg1.getValue().doubleValue(), arg2.getValue().doubleValue()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args)); }
@Override public Object calculate(List<Object> args) { // Handle nulls if (NullUtils.containsNull(args)) { return null; } // Concatenate strings StringBuilder sb = new StringBuilder(); for (Object object : args) { VString str = (VString) object; sb.append(str.getValue()); } // Return new value return ValueFactory.newVString(sb.toString(), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args)); }
@Override public Object calculate(final List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray arg1 = (VNumberArray) args.get(0); VNumber arg2 = (VNumber) args.get(1); VNumber arg3 = (VNumber) args.get(2); return newVNumberArray( ListMath.rescale(arg1.getData(), arg2.getValue().doubleValue(), arg3.getValue().doubleValue()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); } }
@Override public Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray numberArray = (VNumberArray) args.get(0); int fromIndex = ((VNumber) args.get(1)).getValue().intValue(); int toIndex = ((VNumber) args.get(2)).getValue().intValue(); return newVNumberArray( ListMath.limit(numberArray.getData(), fromIndex, toIndex), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public final Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumber arg1 = (VNumber) args.get(0); VNumberArray arg2 = (VNumberArray) args.get(1); return newVNumberArray( calculate(arg1.getValue().doubleValue(), arg2.getData()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VBoolean arg1 = (VBoolean) args.get(0); VBoolean arg2 = (VBoolean) args.get(1); return ValueFactory.newVBoolean( calculate(arg1.getValue(), arg2.getValue()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args)); }
@Override public Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } // args[0] is a VEnum VEnum value = (VEnum) args.get(0); return newVInt(value.getIndex(), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public final Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray arg1 = (VNumberArray) args.get(0); VNumber arg2 = (VNumber) args.get(1); return newVNumberArray( calculate(arg1.getData(), arg2.getValue().doubleValue()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public final Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } Number arg1 = ((VNumber) args.get(0)).getValue(); Number arg2 = ((VNumber) args.get(1)).getValue(); if (arg1 instanceof Float || arg2 instanceof Float || arg1 instanceof Double || arg2 instanceof Double) { throw new IllegalArgumentException("Operator '" + getName() + "' only works with integers"); } return newVInt( calculate(arg1.intValue(), arg2.intValue()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumber value = (VNumber) args.get(0); VNumberArray intervals = (VNumberArray) args.get(1); VStringArray labels = (VStringArray) args.get(2); int index = 0; while (index < intervals.getData().size() && value.getValue().doubleValue() >= intervals.getData().getDouble(index)) { index++; } return newVEnum(index, labels.getData(), value, ValueUtil.latestValidTimeOrNowOf(args)); }
@Override public Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } Object arg = args.get(0); Alarm alarm = ValueUtil.alarmOf(arg); return newVEnum(alarm.getAlarmSeverity().ordinal(), AlarmSeverity.labels(), alarm, ValueUtil.latestValidTimeOrNowOf(args)); }
@Override public final Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray arg1 = (VNumberArray) args.get(0); VNumberArray arg2 = (VNumberArray) args.get(1); return newVNumberArray( calculate(arg1.getData(), arg2.getData()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray numberArray = (VNumberArray) args.get(0); double min = numberArray.getDimensionDisplay().get(0).getCellBoundaries().getDouble(0); double max = numberArray.getDimensionDisplay().get(0).getCellBoundaries().getDouble(numberArray.getSizes().getInt(0)); return newVNumberArray( new ArrayDouble(min, max), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
ValueUtil.latestValidTimeOrNowOf(args), display);