package gueei.binding.converters; import gueei.binding.Converter; import gueei.binding.IObservable; import gueei.binding.Undetermined; /** * Test the condition, if the condition is true, return arg_if_true, or else return arg_if_false * * @usage condition arg_if_true arg_if_false * * @arg condition boolean * @arg arg_if_true Object * @arg arg_if_false Object * * @return boolean */ public class IF extends Converter<Object> implements Undetermined { public IF(IObservable<?>[] dependents) { super(Object.class, dependents); } @Override public Object calculateValue(Object... args) throws Exception { if (args.length<3) return null; if (args[0] == null) return null; if (Boolean.TRUE.equals(args[0])){ return args[1]; }else{ return args[2]; } } }