Initial import.
2 * StarOffice News Server
3 * see AUTHORS for the list of contributors
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 package com.so.news.util;
21 import java.util.HashMap;
24 * Class that allows simple String template handling.
25 * @author Christian Lins (christian.lins@web.de)
27 public class StringTemplate
29 private String str = null;
30 private String templateDelimiter = "%";
31 private HashMap<String, String> templateValues = new HashMap<String, String>();
33 public StringTemplate(String str, String templateDelimiter)
36 this.templateDelimiter = templateDelimiter;
39 public StringTemplate(String str)
44 public void set(String template, String value)
46 this.templateValues.put(template, value);
49 public void set(String template, long value)
51 set(template, Long.toString(value));
54 public void set(String template, double value)
56 set(template, Double.toString(value));
59 public void set(String template, Object obj)
61 set(template, obj.toString());
65 public String toString()
67 String ret = new String(str);
69 for(String key : this.templateValues.keySet())
71 String value = this.templateValues.get(key);
72 ret = ret.replace(templateDelimiter + key, value);