001 package logic;
002
003 public class BooleanFactory implements IBooleanFactory {
004
005 public static final BooleanFactory Singleton = new BooleanFactory();
006
007 private BooleanFactory(){}
008
009 private static IBoolean trueBoolean = new IBoolean() {
010 public Object execute(IBooleanAlgo algo, Object... inp) {
011 return algo.trueCase(this, inp);
012 }
013 };
014
015 private static IBoolean falseBoolean = new IBoolean() {
016 public Object execute(IBooleanAlgo algo, Object...inp) {
017 return algo.falseCase(this, inp);
018 }
019 };
020
021 public IBoolean makeBoolean(boolean b) {
022 return b ? trueBoolean : falseBoolean;
023 }
024 }