1 19 20 package com.sslexplorer.agent.client.util; 21 22 import java.util.Hashtable ; 23 24 public class ApplicationTypeManager { 25 26 private static ApplicationTypeManager instance ; 27 28 private Hashtable agentTypes; 29 30 private ApplicationTypeManager() { 31 agentTypes = new Hashtable (); 32 } 33 34 public void registerApplicationType(String name, String className) { 35 agentTypes.put(name, className); 36 } 37 38 public void deregisterApplicationType(String name) { 39 agentTypes.remove(name); 40 } 41 42 public ApplicationType createType(String name) throws InstantiationException , IllegalAccessException , ClassNotFoundException { 43 String className = (String )agentTypes.get(name); 44 if(className == null) { 45 className = "com.sslexplorer.agent.client.util.types." + (String.valueOf(name.charAt(0)).toUpperCase() + name.substring(1) ) + "ApplicationType"; 46 } 47 return (ApplicationType) Class.forName(className).newInstance(); 48 } 49 50 public static ApplicationTypeManager getInstance() { 51 if(instance == null) { 52 instance = new ApplicationTypeManager(); 53 } 54 return instance; 55 } 56 } 57 | Popular Tags |