case "AND": if (args.size() == 2) { return new ArithmeticGroupFunction.And(args.get(0), args.get(1)); } else { LoggerFactory.getLogger(GroupFunctionHelper.class)
@Override public <T extends State> T getStateAs(Set<Item> items, Class<T> stateClass) { State state = calculate(items); if (stateClass.isInstance(state)) { return stateClass.cast(state); } else { if (stateClass == DecimalType.class) { if (items != null) { return stateClass.cast(new DecimalType(items.size() - count(items, activeState))); } else { return stateClass.cast(DecimalType.ZERO); } } else { return null; } } }
case "AND": if (args.size() == 2) { return new ArithmeticGroupFunction.And(args.get(0), args.get(1)); } else { LoggerFactory.getLogger(GroupFunctionHelper.class)
@Override public <T extends State> T getStateAs(Set<Item> items, Class<T> stateClass) { State state = calculate(items); if (stateClass.isInstance(state)) { return stateClass.cast(state); } else { if (stateClass == DecimalType.class) { if (items != null) { return stateClass.cast(new DecimalType(items.size() - count(items, activeState))); } else { return stateClass.cast(DecimalType.ZERO); } } else { return null; } } }
@Override public State calculate(Set<Item> items) { State result = super.calculate(items); State notResult = result.equals(activeState) ? passiveState : activeState; return notResult; }
@Override public State calculate(Set<Item> items) { State result = super.calculate(items); State notResult = result.equals(activeState) ? passiveState : activeState; return notResult; }