01: /*
02: * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/lib/templates/TKNameTag.java,v 1.7 2001/08/14 13:52:45 mischa 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.teamkonzept.lib.*;
18:
19: /**
20: *
21: * @author $Author: mischa $
22: * @version $Revision: 1.7 $
23: */
24: public class TKNameTag extends TKLabelTag {
25: public static final int TAG_TYPE = TKEndTag.TAG_TYPE + 1;
26: public static TKConverter encoder = new TKUrlConverter();
27:
28: //*******************************************************************
29: /**
30: * Konstruktor 1
31: * Ein Syntaxbaum fuer ein Template wird erzeugt.
32: */
33: public TKNameTag(TKTemplateSyntax parent, String name,
34: boolean hasSubTags) throws TKTemplateSyntaxException {
35: super (parent, name, hasSubTags);
36: }
37:
38: /*******************************************************************
39: /**
40: *
41: */
42: public String apply(TKTemplateData td)
43: throws TKTemplateSyntaxException {
44: String label = getLabel(td);
45: String encoding = parent.getDefaultEncoding(td);
46:
47: if (label.endsWith("]")) {
48: int startPos = label.lastIndexOf("[") + 1;
49: encoding = label.substring(startPos, label.length() - 1);
50: label = label.substring(0, startPos - 1);
51: }
52:
53: return expandVariable(label, td, encoding);
54: }
55:
56: public void apply(TKTemplateData td, Writer writer)
57: throws TKTemplateSyntaxException, IOException {
58: String label = getLabel(td);
59: String encoding = parent.getDefaultEncoding(td);
60:
61: if (label.endsWith("]")) {
62: int startPos = label.lastIndexOf("[") + 1;
63: encoding = label.substring(startPos, label.length() - 1);
64: label = label.substring(0, startPos - 1);
65: }
66:
67: expandVariable(label, td, encoding, writer);
68: }
69:
70: }//end class
|