package com.gueei.demos.markupDemo.viewModels; import gueei.binding.DependentObservable; import gueei.binding.IObservable; import gueei.binding.observables.BooleanObservable; public class Converters { public final BooleanObservable A = new BooleanObservable(true); public final BooleanObservable B = new BooleanObservable(false); /** * Custom TwoWayDependentObservable: * Custom TwoWayDependentObservable can be extends from DependentObservable (One-way) or TwoWayDependentObservable (Two-way) * It MUST have the CONSTRUCTOR(IObservable<?>[] dependents) defined * To reference custom converter, full package.class name must be provided; * and becoz the following is an inner class, so it is referenced with a dollar sign * 'com.gueei.demos.markupDemo.viewModels.Converters$CustomConverter' */ public static class CustomConverter extends DependentObservable<String>{ public CustomConverter(IObservable<?>[] dependents) { super(String.class, dependents); } @Override public String calculateValue(Object... args) throws Exception { if (args[0].equals(Boolean.TRUE)){ return "Response from CustomConverter: args[0] is TRUE"; } return "Response from CustomConverter: args[0] is FALSE"; } } }