de.kl.xsreports
Class Factory

java.lang.Object
  extended by de.kl.xsreports.Factory

public class Factory
extends java.lang.Object

Diese Klasse arbeitet als Factory fuer Objekte, die Reports erzeugen koennen. Die Auswahl des Reports der erzeugt wird, sowie der Klasse die den Report erzeugt wird ueber die INI - Parameter des Servlets gesteuert. Folgende Parameter werden verwendet:

Folgende Init-Parameter werden gelesen
  
 template.class       Name der Klasse, die zum Laden der Templates
                      verwendet wird. Fehlt diese Angabe, so wird
                      die Klasse FileHandlerverwendet.

 template.name        Name des Templates. Dieser Name wird an die Klasse 
                      weitergegeben, die fuer das Laden der Templates
                      zustaendig ist.

 template.properties  Name der Properties(Datei) die die Parameter des
                      des Templates enthaelt. In dieser Datei wird
                      beispielsweise festgelegt, wie Tabellen dargestellt
                      werden.

 generator.class      Name der Klasse die aus dem Template den Report erzeugt.

 
Diese Klasse ist Thread-Safe.

Author:
nikita

Constructor Summary
Factory(javax.servlet.ServletConfig Config)
          Erzeugen der Factory.
 
Method Summary
 Generator createGenerator(javax.servlet.ServletContext Context)
          Erzeugt einen neuen Report-Generator.
 Generator createGenerator(java.lang.String UserInfo, javax.servlet.ServletContext Context)
          Erzeugt einen neuen Report-Generator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Factory

public Factory(javax.servlet.ServletConfig Config)
        throws ConfigurationException
Erzeugen der Factory.

Parameters:
Config - Die Servlet Konfiguration.
Throws:
ConfigurationException - Falls ein Parameter der zur Konfiguration der Factory notwendig ist in der Datei WEB.XML fehlt.
Method Detail

createGenerator

public Generator createGenerator(javax.servlet.ServletContext Context)
                          throws ConfigurationException,
                                 java.io.IOException
Erzeugt einen neuen Report-Generator. Der Generator ist bereits mit dem richtigen Template verbunden.

Parameters:
Context - Dieser Parameter wird an die Klasse weitergegeben die das TemplateHandler Interface implementiert. Damit koennen dort umgebungsspezifiche Werte gelesen werden.
Returns:
Das Client-Interface des Generators.
Throws:
java.io.IOException - Falls es beim Lesen der Template Daten zu IO Fehlern kommt.
ConfigurationException - Wenn das Template nicht gelesen werden konnte.

createGenerator

public Generator createGenerator(java.lang.String UserInfo,
                                 javax.servlet.ServletContext Context)
                          throws ConfigurationException,
                                 java.io.IOException
Erzeugt einen neuen Report-Generator. Der Generator ist bereits mit dem richtigen Template verbunden.

Parameters:
Context - Dieser Parameter wird an die Klasse weitergegeben die das TemplateHandler Interface implementiert. Damit koennen dort umgebungsspezifiche Werte gelesen werden.
UserInfo - Name (dn) des Admins der den Report anfordert. Dieser Wert wird an die Klasse weitergegeben, die das Interface TemplateHandler implementiert. Dieser Parameter kann null sein. Das zeigt an, das das ein nicht Benutzerspezifiches Template verwendet werden soll.
Returns:
Das Client-Interface des Generators.
Throws:
java.io.IOException - Falls es beim Lesen der Template Daten zu IO Fehlern kommt.
ConfigurationException - Wenn das Template nicht gelesen werden konnte.