01: /*
02: * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/lib/templates/TKIgnoreTag.java,v 1.7 2000/10/17 09:10:00 phrank Exp $
03: *
04: */
05: /**
06: *
07: *
08: * Aufbau: name="TK_CLASSNAME[par_name;class_name:class_value;...]" value="..."
09: * ------------ ----------
10: * primaere Klasse Sekundaere Klasse
11: *
12: * Bsp: name="TK_EV[THE_EVENT;QOR:0.8_0.5]" value="..."
13: */package com.teamkonzept.lib.templates;
14:
15: import java.io.*;
16:
17: import com.oroinc.text.regex.*;
18:
19: import com.teamkonzept.lib.*;
20:
21: /**
22: * SwitchTag:
23: * <TK_IGNORE:> ... </TK_IGNORE>
24: */
25: public class TKIgnoreTag extends TKLabelTag {
26: public static final int TAG_TYPE = TKScopeTag.TAG_TYPE + 1;;
27: public String ignoreText;
28:
29: /*******************************************************************
30: /**
31: * Konstruktor 1
32: * Ein Syntaxbaum fuer ein Template wird erzeugt.
33: *
34: * @param String def, Name des Tags
35: * @param boolean hasSubTags
36: */
37: public TKIgnoreTag(TKTemplateSyntax parent, String def,
38: PatternMatcherInput matcherInput, boolean hasSubTags)
39: throws TKTemplateSyntaxException {
40: super (parent, def, hasSubTags);
41: int startPos = matcherInput.getCurrentOffset();
42: TKTemplateSyntax ignoreSyntax = null;
43: try {
44: ignoreSyntax = parent.newChild(matcherInput, parent
45: .getSource());
46: } catch (ArrayIndexOutOfBoundsException e) { //thrown by TKTemplateSyntax.newTag()
47: throw new TKTemplateSyntaxException(parent.getSource(),
48: "NOEND", "IGNORE", def);
49: }
50: ignoreText = matcherInput.substring(startPos, matcherInput
51: .getCurrentOffset());
52: ignoreText = ignoreText.substring(0, ignoreText
53: .lastIndexOf("</"));
54: checkError(ignoreSyntax, "IGNORE", def);
55: }
56:
57: /*******************************************************************
58: /**
59: * Die apply-Methode von TKSyntax wird aufgerufen und das entsprechende
60: * Template wird included.
61: *
62: * @param TKTemplateData td
63: */
64: public String apply(TKTemplateData td)
65: throws TKTemplateSyntaxException {
66: return ignoreText;
67: }
68:
69: public void apply(TKTemplateData td, Writer writer)
70: throws TKTemplateSyntaxException, IOException {
71: writer.write(ignoreText);
72: }
73: }
|