package com.venky.swf.extensions;
import com.venky.swf.menu._IMenuBuilder;
import com.venky.swf.routing.Config;
import com.venky.swf.routing.Router;
public class MenuBuilderFactory {
private MenuBuilderFactory(){
}
private static Object createObject(String className){
try {
return Router.instance().getClass(className).newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static MenuBuilderFactory _instance = null;
public static MenuBuilderFactory instance(){
if (_instance != null){
return _instance;
}
synchronized (MenuBuilderFactory.class) {
if (_instance == null){
_instance = new MenuBuilderFactory();
}
}
return _instance;
}
private static final String MENU_BUILDER_CLASS = "swf.menu.builder.class";
public _IMenuBuilder getMenuBuilder(){
return (_IMenuBuilder) createObject(Config.instance().getProperty(MENU_BUILDER_CLASS));
}
}