/** to be used by activity implementations */ public <T> List<T> getValues(List<BindingImpl<T>> bindings) { if (bindings==null) { return null; } List<T> values = new ArrayList<>(); for (BindingImpl<T> binding: bindings) { T value = getValue(binding); if (value!=null) { if (value instanceof Collection) { values.addAll((Collection<T>)value); } else { values.add(value); } } } return values; }
protected abstract boolean eval(Object value);
/** to be used by activity implementations */ public <T> T getValue(BindingImpl<T> binding) { if (binding==null) { return null; } if (binding.value!=null) { return binding.value; } if (binding.expression!=null) { return (T) getValue(binding.expression); } if (binding.template!=null) { return (T) binding.template.resolve(this); } return null; }