Singleton Registry

last modified: 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


Loading...