package gueei.binding.converters;
import gueei.binding.Converter;
import gueei.binding.IObservable;
/**
* Converter to perform EQUAL operation. <br/>
* It accepts 2 arguments, and perform Object.equals() on them <br/>
* Note if both arguments are null, it returns true
*
* @usage arg1 arg2
*
* @arg arg1 Object
* @arg arg2 Object
*
* @return boolean
*/
public class EQUAL extends Converter<Boolean> {
public EQUAL(IObservable<?>[] dependents) {
super(Boolean.class, dependents);
}
@Override
public Boolean calculateValue(Object... args) throws Exception {
if (args.length<2) return false;
if (args[0]==null && args[1]==null) return true;
if (args[0]==null || args[1]==null)
return false;
return args[0].equals(args[1]);
}
}