KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > repo > template > I18NMessageMethod


1 /*
2  * Copyright (C) 2005 Alfresco, Inc.
3  *
4  * Licensed under the Mozilla Public License version 1.1
5  * with a permitted attribution clause. You may obtain a
6  * copy of the License at
7  *
8  * http://www.alfresco.org/legal/license.txt
9  *
10  * Unless required by applicable law or agreed to in writing,
11  * software distributed under the License is distributed on an
12  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13  * either express or implied. See the License for the specific
14  * language governing permissions and limitations under the
15  * License.
16  */

17 package org.alfresco.repo.template;
18
19 import java.util.List JavaDoc;
20
21 import org.alfresco.i18n.I18NUtil;
22
23 import freemarker.template.TemplateMethodModelEx;
24 import freemarker.template.TemplateModelException;
25 import freemarker.template.TemplateScalarModel;
26
27 /**
28  * @author Kevin Roast
29  *
30  * Custom FreeMarker Template language method.
31  * <p>
32  * Method an I18N message resolved for the current locale and specified message ID.
33  * <p>
34  * Usage: message(String id)
35  */

36 public final class I18NMessageMethod implements TemplateMethodModelEx
37 {
38     /**
39      * @see freemarker.template.TemplateMethodModel#exec(java.util.List)
40      */

41     public Object JavaDoc exec(List JavaDoc args) throws TemplateModelException
42     {
43         String JavaDoc result = "";
44         
45         if (args.size() == 1)
46         {
47             Object JavaDoc arg0 = args.get(0);
48             if (arg0 instanceof TemplateScalarModel)
49             {
50                 String JavaDoc id = ((TemplateScalarModel)arg0).getAsString();
51                 result = I18NUtil.getMessage(id);
52             }
53         }
54         
55         return result;
56     }
57 }
58
Popular Tags