KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.teamkonzept.lib.templates;
2
3 import java.io.*;
4
5 import com.oroinc.text.regex.*;
6
7 import com.teamkonzept.lib.*;
8
9 /**
10  * Ein TK_Tag wird aus dem Template gefiltert
11  * @author $Author: alex $
12  * @version $Revision: 1.12 $
13  */

14 public class TKTagDefinitionTag extends TKLabelTag {
15     public TKTemplateSyntax definitionText;
16     static final int TAG_TYPE = TKIncludeTag.TAG_TYPE+1;
17
18     /*******************************************************************
19     /**
20      * Konstruktor 1
21      * Ein Syntaxbaum fuer ein Template wird erzeugt.
22      *
23      * @param String def, Name des Tags
24      * @param PatternMatcherInput matcherInput,
25      * @param boolean hasSubTags
26      */

27     public TKTagDefinitionTag( TKTemplateSyntax parent, String JavaDoc def, PatternMatcherInput matcherInput, boolean hasSubTags ) throws TKTemplateSyntaxException
28     {
29         super( parent, def, hasSubTags );
30         try {
31             definitionText = parent.newChild( matcherInput, parent.getSource() );
32         }
33         catch (ArrayIndexOutOfBoundsException JavaDoc e) { //thrown by TKTemplateSyntax.newTag()
34
throw new TKTemplateSyntaxException(parent.getSource(),"NOEND","TAGDEF", def);
35         }
36         checkError(definitionText,"TAGDEF", def);
37     }
38     
39     /**
40      * Der entsprechende Body-Part des Templates wird bearbeitet
41      *
42      * @param TKTemplateData td
43      * @return den String, der den bearbeiteten Body-Part enthaelt
44      */

45     public String JavaDoc apply( TKTemplateData td ) throws TKTemplateSyntaxException
46     {
47         td.setLocalVariable("TAG_DEFINITION_"+getLabel (td),definitionText);
48
49         return null;
50     }
51
52     /*******************************************************************
53     /**
54      * Der entsprechende Body-Part des Templates wird bearbeitet
55      *
56      * @param td TKTemplateData
57      * @param writer Writer, in den der bearbeiteten Body-Part geschrieben wird.
58      */

59     public void apply(TKTemplateData td, Writer writer)
60         throws TKTemplateSyntaxException, IOException
61     {
62         td.setLocalVariable("TAG_DEFINITION_"+getLabel (td),definitionText);
63     }
64
65 }//end class
66

67
Popular Tags