KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > lib > templates > TKLocalTag


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/lib/templates/TKLocalTag.java,v 1.9 2002/01/21 10:40:18 mischa Exp $
3  *
4  */

5 /**
6  *
7  *
8  * Aufbau: name="TK_CLASSNAME[par_name;class_name:class_value;...]" value="..."
9  * ------------ ----------
10  * primaere Klasse Sekundaere Klasse
11  *
12  * Bsp: name="TK_EV[THE_EVENT;QOR:0.8_0.5]" value="..."
13  */

14 package com.teamkonzept.lib.templates;
15
16 import java.io.*;
17
18 import com.oroinc.text.regex.*;
19
20 import com.teamkonzept.lib.*;
21
22 /**
23  * Ein TK_LOCAL wird aus dem Template gefiltert
24  * @author $Author: mischa $
25  * @version $Revision: 1.9 $
26  */

27 public class TKLocalTag extends TKLabelTag {
28     public TKTemplateSyntax localText;
29     static final int TAG_TYPE = TKIgnoreTag.TAG_TYPE+1;
30
31     /*******************************************************************
32     /**
33      * Konstruktor 1
34      * Ein Syntaxbaum fuer ein Template wird erzeugt.
35      *
36      * @param String def, Name des Tags
37      * @param PatternMatcherInput matcherInput,
38      * @param boolean hasSubTags
39      */

40     public TKLocalTag( TKTemplateSyntax parent, String JavaDoc def, PatternMatcherInput matcherInput, boolean hasSubTags ) throws TKTemplateSyntaxException
41     {
42         super( parent, def, hasSubTags );
43         
44         try {
45             localText = parent.newChild( matcherInput, parent.getSource() );
46         }
47         catch (ArrayIndexOutOfBoundsException JavaDoc e) { //thrown by TKTemplateSyntax.newTag()
48
throw new TKTemplateSyntaxException(parent.getSource(),"NOEND","LOCAL", def);
49         }
50         checkError(localText,"LOCAL", def);
51     }
52     
53     /*******************************************************************
54     /**
55      * Die apply-Methode von TKSyntax wird aufgerufen und der entsprechende
56      * Part des Templates wird bearbeitet
57      *
58      * @param TKTemplateData td
59      * @return den String, der den bearbeiteten Part enthaelt
60      */

61     public String JavaDoc apply( TKTemplateData td ) throws TKTemplateSyntaxException
62     {
63             // Das Label wird erst mal nicht weiter ausgewertet ...
64
//String label = getLabel(td);
65
getLabel(td);
66
67         TKTemplateData subTd = new TKTemplateData (td);
68         return localText.apply( subTd );
69     }
70         
71     /*******************************************************************
72     /**
73      * Die apply-Methode von TKSyntax wird aufgerufen und der entsprechende
74      * Part des Templates wird bearbeitet
75      *
76      * @param td TKTemplateData
77      * @param writer Writer, in den der bearbeitete Part geschrieben wird.
78      */

79     public void apply(TKTemplateData td, Writer writer)
80         throws TKTemplateSyntaxException, IOException
81     {
82             // Das Label wird erst mal nicht weiter ausgewertet ...
83
//String label = getLabel(td);
84
getLabel(td);
85
86         TKTemplateData subTd = new TKTemplateData (td);
87         localText.apply( subTd, writer );
88     }
89 }
90
91
Popular Tags