KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > services > impl > LocalizedStringRender


1 // Copyright 2004, 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.tapestry.services.impl;
16
17 import java.util.Iterator JavaDoc;
18 import java.util.Map JavaDoc;
19
20 import org.apache.hivemind.util.ToStringBuilder;
21 import org.apache.tapestry.IComponent;
22 import org.apache.tapestry.IMarkupWriter;
23 import org.apache.tapestry.IRender;
24 import org.apache.tapestry.IRequestCycle;
25 import org.apache.tapestry.parse.LocalizationToken;
26 import org.apache.tapestry.parse.TextToken;
27
28 /**
29  * A class used with invisible localizations. Constructed from a {@link TextToken}.
30  *
31  * @author Howard Lewis Ship
32  * @since 3.0
33  */

34
35 public class LocalizedStringRender implements IRender
36 {
37     private IComponent _component;
38
39     private String JavaDoc _key;
40
41     private Map JavaDoc _attributes;
42
43     private String JavaDoc _value;
44
45     private boolean _raw;
46
47     public LocalizedStringRender(IComponent component, LocalizationToken token)
48     {
49         _component = component;
50         _key = token.getKey();
51         _raw = token.isRaw();
52         _attributes = token.getAttributes();
53     }
54
55     public void render(IMarkupWriter writer, IRequestCycle cycle)
56     {
57         if (cycle.isRewinding())
58             return;
59
60         if (_attributes != null)
61         {
62             writer.begin("span");
63
64             Iterator JavaDoc i = _attributes.entrySet().iterator();
65
66             while (i.hasNext())
67             {
68                 Map.Entry JavaDoc entry = (Map.Entry JavaDoc) i.next();
69                 String JavaDoc attributeName = (String JavaDoc) entry.getKey();
70                 String JavaDoc attributeValue = (String JavaDoc) entry.getValue();
71
72                 writer.attribute(attributeName, attributeValue);
73             }
74         }
75
76         if (_value == null)
77             _value = _component.getMessages().getMessage(_key);
78
79         writer.print(_value, _raw);
80         
81         if (_attributes != null)
82             writer.end();
83     }
84
85     public String JavaDoc toString()
86     {
87         ToStringBuilder builder = new ToStringBuilder(this);
88
89         builder.append("component", _component);
90         builder.append("key", _key);
91         builder.append("raw", _raw);
92         builder.append("attributes", _attributes);
93
94         return builder.toString();
95     }
96
97 }
Popular Tags