package framepack.configurationpack; import java.lang.reflect.Method; import org.w3c.dom.*; import toolspack.*; /** * Classe deputata ad analizzare il BeanDescriptor.xml, quindi a istanziare application beans e session beans. Prevede una fase di * inizializzazione in cui crea, invocando il BeanDescriptorCreator, delle strutture dati in grado di velocizzare le successive * istanziazioni di session beans. Sempre in fase di inizializzazione provvede a istanziare e collegare correttamente gli application beans * @author Stefano Ricciarelli * @version 1.2 - Date: 28-06-2002 */ public class BeanCreatorAndLinker { private static Document beansDescriptorXML = null; private static Object[] applicationBeans = null; private static ObjectSet applicationBeansSet = null; private static String[] applicationBeanNames; private static String[] sessionBeanNames; private static Class[] applicationBeanClasses; private static Class[] sessionBeanClasses; private static BeanDescriptor[] applicationBeanDescriptor; private static BeanDescriptor[] sessionBeanDescriptor; /** * Costruttore * @param il documento beansDescriptorXML contenente le istruzioni per l'inizializzazione * dei bean */ public BeanCreatorAndLinker(Document bdx) { beansDescriptorXML = bdx; } /** * Restituisce le istanze (sono uniche) degli applicationBeans correttamente * inizizializzate e configurate * @return l'ObjectSet contenente le istanze degli applicationBeans */ public static ObjectSet getApplicationBeanInstances() { return applicationBeansSet; } /** * Restituisce delle nuove istanze dei sessionBeans correttamente inizizializzate e * configurate * @return l'ObjectSet contenente le istanze dei sessionBeans */ public static ObjectSet getNewSessionBeanInstances() { Object[] sessionBeans = InstantiateSessionBeans(); if (sessionBeans == null) return null; int i; ObjectSet sb = new ObjectSet(); for (i=0; i o ed estrae i nomi * dei bean presenti * @param beanElement l'elemento o da analizzare * @return l'array di stringhe contenente i nomi dei bean presenti nell'elemento beanElement */ private static String[] createBeanNames(Element beanElement) { NodeList beans = beanElement.getElementsByTagName("bean"); String[]beanNames = new String[beans.getLength()]; int j; for (j=0; j o ed estrae i nomi * dei bean presenti * @param beanElement l'elemento o da analizzare * @return l'array di stringhe contenente i nomi dei bean presenti nell'elemento beanElement */ private static Class[] createBeanClasses(Element beanElement) { NodeList beans = beanElement.getElementsByTagName("bean"); int length = beans.getLength(); Class[] beanClasses = new Class[length]; int j; for (j=0; j