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 }