Class Factory


  • public class Factory
    extends java.lang.Object
    Einen Neon-Server aus einer Beschreibungsdatei herstellen Die Werte aus der Beschreibungsdatei werden in die Attribute der HttpContext-Objekte geschrieben, die zu jedem Server eroeffnet werden. Die Entitaeten stehen wie folgt in Beziehung: HttpServer -1:n-> HttpContext -1:1-> HttpHandler Die Factory legt die Kontexte, Handler sowie die Verbindung zu den Actors selbsttaetig an. Alle Parameter aus 'attributes'-Elementen der Beschreibungsdatei werden als Attribute in den HttpContext uebertragen. Deshalb ist es wichtig, dass die Attributnamen eindeutig gewaehlt werden, damit sie sich nicht gegenseitig ueberschreiben.
    • Constructor Detail

      • Factory

        public Factory()
    • Method Detail

      • readDescriptor

        public NeonDescriptor readDescriptor​(java.io.File file)
                                      throws java.io.IOException
        Beschreibungsdatei lesen
        Parameters:
        file - die Datei, die den Server beschreibt
        Returns:
        ein Objekt, das den Server beschreibt
        Throws:
        java.io.IOException - wenn die Datei nicht gelesen werden konnte
      • runInstance

        public void runInstance​(NeonDescriptor d)
                         throws java.lang.ClassNotFoundException,
                                java.lang.NoSuchMethodException,
                                java.lang.InstantiationException,
                                java.lang.IllegalAccessException,
                                java.lang.IllegalArgumentException,
                                java.lang.reflect.InvocationTargetException,
                                java.io.IOException
        Throws:
        java.lang.ClassNotFoundException
        java.lang.NoSuchMethodException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
        java.lang.IllegalArgumentException
        java.lang.reflect.InvocationTargetException
        java.io.IOException
      • runInstance

        public void runInstance​(NeonDescriptor d,
                                java.util.List<java.lang.String> packageNames)
                         throws java.lang.ClassNotFoundException,
                                java.lang.NoSuchMethodException,
                                java.lang.InstantiationException,
                                java.lang.IllegalAccessException,
                                java.lang.IllegalArgumentException,
                                java.lang.reflect.InvocationTargetException,
                                java.io.IOException
        Throws:
        java.lang.ClassNotFoundException
        java.lang.NoSuchMethodException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
        java.lang.IllegalArgumentException
        java.lang.reflect.InvocationTargetException
        java.io.IOException
      • runInstance

        public void runInstance​(NeonDescriptor d,
                                java.util.List<java.lang.String> packageNames,
                                java.util.List<DataProvider> sdp)
                         throws java.lang.ClassNotFoundException,
                                java.lang.NoSuchMethodException,
                                java.lang.InstantiationException,
                                java.lang.IllegalAccessException,
                                java.lang.IllegalArgumentException,
                                java.lang.reflect.InvocationTargetException,
                                java.io.IOException
        Einen Neon-Server gemaess einem Serverbeschreibungsobjekt herstellen und starten
        Parameters:
        d - das Object mit der Serverbeschreibung
        packageNames - Namen der Packages, aus der rekursiv vorgefundene Actors eingebaut werden sollen
        sdp - die DataProvider fuer diese Neon-Instanz
        Throws:
        java.lang.ClassNotFoundException
        java.lang.NoSuchMethodException
        java.lang.InstantiationException
        java.lang.IllegalAccessException
        java.lang.IllegalArgumentException
        java.lang.reflect.InvocationTargetException
        java.io.IOException
      • destroy

        public void destroy()