Package de.uhilger.neon
Class Factory
- java.lang.Object
-
- de.uhilger.neon.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 Summary
Constructors Constructor Description Factory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(FactoryListener l)
void
destroy()
NeonDescriptor
readDescriptor(java.io.File file)
Beschreibungsdatei lesenvoid
removeListener(FactoryListener l)
void
runInstance(NeonDescriptor d)
void
runInstance(NeonDescriptor d, java.util.List<java.lang.String> packageNames)
void
runInstance(NeonDescriptor d, java.util.List<java.lang.String> packageNames, java.util.List<DataProvider> sdp)
Einen Neon-Server gemaess einem Serverbeschreibungsobjekt herstellen und starten
-
-
-
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 ServerbeschreibungpackageNames
- Namen der Packages, aus der rekursiv vorgefundene Actors eingebaut werden sollensdp
- 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
-
addListener
public void addListener(FactoryListener l)
-
removeListener
public void removeListener(FactoryListener l)
-
destroy
public void destroy()
-
-