de.kl.xsreports
Class FileHandler

java.lang.Object
  extended by de.kl.xsreports.FileHandler
All Implemented Interfaces:
TemplateHandler

public class FileHandler
extends java.lang.Object
implements TemplateHandler

Implementierung des TemplateHandler Interfaces mit Ablage der Daten im Filesystem des Servers. Diese Implementierung liefert die Templates nach folgender Regel zurueck: WEB-INF/templates/<zwei Zeichen vom Benutzer>/<Template Name> Beispiel: Der Benuter "aaTest" fordert Template mit dem Namen "test.rtf" an. Dann wird: WEB-INF/templates/aa/test.rtf zurueckgegeben. Sollte diese Datei nicht vorhanden sein, so wird: WEB-INF/templates/test.rtf zurueckgegeben. Entsprechend wir mit den "Properties" des Templates verfahren.

Author:
nikita

Constructor Summary
FileHandler()
          Dieser Konstruktor wird von der Factory Klasse verwendet.
 
Method Summary
 java.io.InputStream getTemplate(java.lang.String Name, java.lang.String UserInfo, javax.servlet.ServletContext Context)
          Holt das angegebene Template aus dem Filesystem des Servers.
 java.util.Map getTemplateProperties(java.lang.String Name, java.lang.String UserInfo, javax.servlet.ServletContext Context)
          Holt die Konfigurationsdaten die zu dem Template gehoeren.
 void putTemplate(java.io.InputStream TemplateSource, java.lang.String Name, java.lang.String UserInfo, javax.servlet.ServletContext Context)
          Schreibt das Template ins Filesystem des Servers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileHandler

public FileHandler()
Dieser Konstruktor wird von der Factory Klasse verwendet.

Method Detail

getTemplate

public java.io.InputStream getTemplate(java.lang.String Name,
                                       java.lang.String UserInfo,
                                       javax.servlet.ServletContext Context)
                                throws ConfigurationException
Holt das angegebene Template aus dem Filesystem des Servers.

Specified by:
getTemplate in interface TemplateHandler
Parameters:
Name - Name des Templates.
UserInfo - Information ueber den Benutzer (Administrator) der den Report anfordert. Dieser Parameter kann null sein. Das zeigt der Implementation an das kein benutzerspezifiches Template verwendet werden soll.
Context - Servlet Context des Servlets das den Report anfordert.
Returns:
Ein InputStream, aus dem das Template gelesen werden kann.
Throws:
ConfigurationException - Falls das Template nicht existiert.

putTemplate

public void putTemplate(java.io.InputStream TemplateSource,
                        java.lang.String Name,
                        java.lang.String UserInfo,
                        javax.servlet.ServletContext Context)
                 throws java.io.IOException,
                        ConfigurationException
Schreibt das Template ins Filesystem des Servers.

Specified by:
putTemplate in interface TemplateHandler
Parameters:
TemplateSource - Quelle aus der das neue Template gelesen wird.
Name - Name des Templates.
UserInfo - Information ueber den Benutzer (Administrator) der den Report anfordert.
Context - Servlet Context des Servlets das den Report anfordert.
Throws:
java.io.IOException - Falls beim schreiben ein Fehler auftritt.
ConfigurationException - Falls notwendige Konfigurationsdaten fehlen.

getTemplateProperties

public java.util.Map getTemplateProperties(java.lang.String Name,
                                           java.lang.String UserInfo,
                                           javax.servlet.ServletContext Context)
                                    throws ConfigurationException
Holt die Konfigurationsdaten die zu dem Template gehoeren.

Specified by:
getTemplateProperties in interface TemplateHandler
Parameters:
Context - Context des aufgerufenen Servlets.
UserInfo - Name des Benutzers fuer den der Report angefertigt wird. Die Implementierung kann anhand dieses Parameters ein benutzerspezifices Template laden. Dieser Parameter kann null sein. Das zeigt der Implementation an das kein benutzerspezifiches Template verwendet werden soll.
Name - Name des Templates das geladen werden soll.
Returns:
Ein Object, das das Interface "Map" implementiert und ueber das die Eigenschaften den Templates gelesen werden koennen.
Throws:
ConfigurationException - Wenn das Template in den Konfigurations-Daten des Serlets nicht gefunden wird.