001 package com.khubla.pragmatach.framework.controller;
002
003 import java.util.Set;
004
005 import com.khubla.pragmatach.framework.api.PragmatachException;
006
007 /**
008 * @author tome
009 */
010 public class Controllers {
011 /**
012 * instance
013 */
014 private static Controllers instance;
015
016 /**
017 * singleton
018 */
019 public static Controllers getInstance() {
020 if (null == instance) {
021 instance = new Controllers();
022 }
023 return instance;
024 }
025
026 /**
027 * get a PragmatachController instance
028 */
029 public static PragmatachController getInstance(Class<?> clazz) throws PragmatachException {
030 try {
031 return (PragmatachController) clazz.newInstance();
032 } catch (final Exception e) {
033 throw new PragmatachException("Exception in getInstance", e);
034 }
035 }
036
037 private final Set<Class<?>> controllers;
038
039 /**
040 * ctor
041 */
042 private Controllers() {
043 controllers = ControllerClasses.getControllers();
044 }
045
046 public Set<Class<?>> getControllers() {
047 return controllers;
048 }
049 }