KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/lib/templates/TKNotTag.java,v 1.9 2001/08/14 13:53:22 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_NOT wird aus dem Template gefiltert
24  * @author $Author: mischa $
25  * @version $Revision: 1.9 $
26  */

27 public class TKNotTag extends TKLabelTag {
28     public TKTemplateSyntax notText;
29     static final int TAG_TYPE = TKCaseTag.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 TKNotTag( TKTemplateSyntax parent, String JavaDoc def, PatternMatcherInput matcherInput, boolean hasSubTags ) throws TKTemplateSyntaxException
41     {
42         super( parent, def, hasSubTags );
43         try {
44             notText = parent.newChild( matcherInput, parent.getSource() );
45         }
46         catch (ArrayIndexOutOfBoundsException JavaDoc e) { //thrown by TKTemplateSyntax.newTag()
47
throw new TKTemplateSyntaxException(parent.getSource(),"NOEND","NOT", def);
48         }
49         checkError(notText,"NOT", def);
50     }
51     
52     /*******************************************************************
53     /**
54      * Die apply-Methode von TKSyntax wird aufgerufen und der entsprechende
55      * Part des Templates wird bearbeitet
56      *
57      * @param TKTemplateData td
58      * @return den String, der den bearbeiteten Part enthaelt
59      */

60     public String JavaDoc apply( TKTemplateData td ) throws TKTemplateSyntaxException
61     {
62         String JavaDoc value = expandVariable (getLabel( td ),td,null);
63
64         if( value == null || value.length() == 0 ) {
65             return notText.apply( td );
66         }
67         return null;
68     }
69
70     /*******************************************************************
71     /**
72      * Die apply-Methode von TKSyntax wird aufgerufen und der entsprechende
73      * Part des Templates wird bearbeitet
74      *
75      * @param td TKTemplateData
76      * @param writer Writer in den der bearbeitete Part geschrieben wird.
77      */

78     public void apply(TKTemplateData td, Writer writer)
79         throws TKTemplateSyntaxException, IOException
80     {
81         String JavaDoc value = expandVariable (getLabel( td ),td,null);
82
83         if( value == null || value.length() == 0 ) {
84             notText.apply( td, writer );
85         }
86     }
87 }
88
89
Popular Tags