001: package com.teamkonzept.lib;
002:
003: import java.io.*;
004:
005: import com.teamkonzept.lib.TKException;
006: import com.teamkonzept.lib.templates.*;
007: import javax.servlet.http.HttpServletRequest;
008:
009: /**
010: * Definition der Grundmethoden eines Templates
011: * @author $Author: alex $
012: * @version $Revision: 1.4 $
013: */
014: public interface TemplateBasic {
015: /**
016: setzt Daten in die Root
017: */
018: void set(TKHashtable aSubst);
019:
020: void set(String key, Object val);
021:
022: void setOriginalRequest(HttpServletRequest request);
023:
024: String getType();
025:
026: /**
027: * Das substituierte Template wird als String zuueckgegeben.
028: * Hierfuer muss die Instanzvariable "text" mit dem Text eines Templates
029: * zuvor gefuellt werden. Dies geschieht, indem die Tags im Template zuerst
030: * substituiert werden.
031: *
032: * Bsp. Reihenfolge der Aufrufe:
033: * TKTemplateObject.doTagSubstitution();
034: * TKTemplateObject.doCleanup();
035: * TKTemplateObject.getText();
036: *
037: * @return einen String des substituierten Templates
038: */
039:
040: String getText();
041:
042: /**
043: * Das Template wird in den PrintStream geschrieben.
044: * Hierfuer muss die Instanzvariable "text" mit dem Text eines Templates
045: * zuvor gefuellt werden. Dies geschieht, indem die Tags im Template zuerst
046: * substituiert werden.
047: *
048: * Bsp. Reihenfolge der Aufrufe:
049: * TKTemplateObject.doTagSubstitution();
050: * TKTemplateObject.doCleanup();
051: * TKTemplateObject.printTemplate();
052: */
053: void printTemplate(PrintStream out);
054:
055: /**
056: * Das Template wird in den Writer geschrieben.
057: * Hierfuer muss die Instanzvariable "text" mit dem Text eines Templates
058: * zuvor gefuellt werden. Dies geschieht, indem die Tags im Template zuerst
059: * substituiert werden.
060: *
061: * Bsp. Reihenfolge der Aufrufe:
062: * TKTemplateObject.doTagSubstitution();
063: * TKTemplateObject.doCleanup();
064: * TKTemplateObject.printTemplate();
065: */
066: void printTemplate(Writer writer) throws IOException;
067:
068: /**
069: * Das Template wird auf stdout geschrieben.
070: * Hierfuer muss die Instanzvariable "text" mit dem Text eines Templates
071: * zuvor gefuellt werden. Dies geschieht, indem die Tags im Template zuerst
072: * substituiert werden.
073: *
074: * Bsp. Reihenfolge der Aufrufe:
075: * TKTemplateObject.doTagSubstitution();
076: * TKTemplateObject.doCleanup();
077: * TKTemplateObject.printTemplate();
078: */
079: void printTemplate();
080:
081: /**
082: * Das substituierte Template wird in ein File geschrieben werden.
083: * Hierfuer muss die Instanzvariable "text" mit dem Text eines Templates
084: * zuvor gefuellt werden. Dies geschieht, indem die Tags im Template zuerst
085: * substituiert werden.
086: *
087: * Bsp. Reihenfolge der Aufrufe:
088: * TKTemplateObject.doTagSubstitution();
089: * TKTemplateObject.doCleanup();
090: * TKTemplateObject.printTemplate(String file)
091: *
092: * @param String file, der Filename des zu speichernden templates
093: */
094: void printTemplate(String file) throws IOException;
095:
096: /**
097: * Durch den Aufruf der Methode doMainSubstitution enthaelt die
098: * Instanzvariable "text" das Template mit den substituierten TKTags.
099: * Die nicht vollstaendigen Pfade werden ersetzt.
100: *
101: * Die URL-Base ist gestzt, wenn Images ausserhalb des CGI-Verzeichnisses
102: * abgelegt sind. Fuer diese Bilder muss der vollstaendige Pfad im
103: * Template gesetzt werden.
104: */
105: void doTagSubstitution() throws TKTemplateSyntaxException;
106:
107: /**
108: * Die Instanzvariable "text" enthaelt das Template mit den
109: * substituierten TKTags
110: *
111: * 1. TKTemplateData-Objekt.prepareApply() => Bearbeitung der Hashes
112: * fuer folgende Tags: if,check,select, case
113: * 2. Die Variable text enthaelt das generierte Template
114: */
115: void doMainSubstitutions() throws TKTemplateSyntaxException;
116:
117: DOMTemplateData getDOMData();
118:
119: }
|