KickJava   Java API By Example, From Geeks To Geeks.

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


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_NOEXPAND wird aus dem Template gefiltert
11  * @author $Author: mischa $
12  * @version $Revision: 1.11 $
13  */

14 public class TKNoExpandTag extends TKLabelTag {
15     public TKTemplateSyntax noExpandText;
16     static final int TAG_TYPE = TKTagTag.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 TKNoExpandTag( TKTemplateSyntax parent, String JavaDoc def, PatternMatcherInput matcherInput, boolean hasSubTags ) throws TKTemplateSyntaxException
28     {
29         super( parent, def, hasSubTags );
30         try {
31             noExpandText = parent.newChild( matcherInput, parent.getSource() );
32         }
33         catch (ArrayIndexOutOfBoundsException JavaDoc e) { //thrown by TKTemplateSyntax.newTag()
34
throw new TKTemplateSyntaxException(parent.getSource(),"NOEND","NOEXPAND", def);
35         }
36         checkError(noExpandText,"NOEXPAND", def);
37     }
38     
39     /*******************************************************************
40     /**
41      * Die apply-Methode von TKSyntax wird aufgerufen und der entsprechende
42      * Part des Templates wird bearbeitet
43      *
44      * @param TKTemplateData td
45      * @return den String, der den bearbeiteten Part enthaelt
46      */

47     public String JavaDoc apply( TKTemplateData td ) throws TKTemplateSyntaxException
48     {
49         String JavaDoc label = getLabel(td);
50
51         if ((label != null ) && label.equalsIgnoreCase("apply"))
52             noExpandText.apply( td );
53             
54         return null;
55     }
56
57     /*******************************************************************
58     /**
59      * Die apply-Methode von TKSyntax wird aufgerufen und der entsprechende
60      * Part des Templates wird bearbeitet
61      *
62      * @param td TKTemplateData
63      * @param writer Writer in den der bearbeitete Part geschrieben wird.
64      */

65     public void apply(TKTemplateData td, Writer writer)
66         throws TKTemplateSyntaxException, IOException
67     {
68         String JavaDoc label = getLabel(td);
69
70         if ((label != null ) && label.equalsIgnoreCase("apply"))
71         {
72             StringWriter tmp = new StringWriter();
73             noExpandText.apply( td, tmp );
74         }
75     }
76 }
77
78
Popular Tags