package gueei.binding.converters;
import gueei.binding.Converter;
import gueei.binding.IObservable;
import gueei.binding.Undetermined;
/**
* Do test on condition, if it is null, return arg_if_null, else arg_if_not
*
* @usage condition arg_if_null arg_if_not
*
* @arg condition boolean
* @arg arg_if_null Object
* @arg arg_if_not Object
*
* @return Object
*/
public class IF_NULL extends Converter<Object> implements Undetermined{
public IF_NULL(IObservable<?>[] dependents) {
super(Object.class, dependents);
}
@Override
public Object calculateValue(Object... args) throws Exception {
if( args.length == 2) {
if ((Object)args[0] == null){
return args[0];
}else{
return args[1];
}
}
if( args.length == 3) {
if ((Object)args[0] != null){
return args[2];
}else{
return args[1];
}
}
return null;
}
}