SingletonRegistry

Last edit April 30, 2012
A Facade to handle Concrete Singleton creation in a AbstractSingletonPattern

Code Sample:

public class SingletonRegistry {

	private SingletonRegistry() {
	}
	private static ConcreteSingleton1 concreteSingleton1;
	private static ConcreteSingleton2 concreteSingleton2;

public static Singleton getSingleton(final String which) { try { if("ConcreteSingleton1".equalsIgnoreCase(which)) { return getInstanceOf1(); } else if("ConcreteSingleton2".equalsIgnoreCase(which)) { return getInstanceOf2(); } } catch (SingletonException se) { return se.getInstance(); } throw new RuntimeException("Match not found exception"); }

private static Singleton getInstanceOf1() throws SingletonException { if(concreteSingleton1 == null) { concreteSingleton1 = new ConcreteSingleton1(); } return concreteSingleton1; } private static Singleton getInstanceOf2() throws SingletonException { if(concreteSingleton2 == null) { concreteSingleton2 = new ConcreteSingleton2(); } return concreteSingleton2; }
}

-- NitinVerma