#544 fixed.
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 org.sonews.util;
21 import java.util.HashMap;
25 * Class that allows simple String template handling.
26 * @author Christian Lins
29 public class StringTemplate
32 private String str = null;
33 private String templateDelimiter = "%";
34 private Map<String, String> templateValues = new HashMap<String, String>();
36 public StringTemplate(String str, final String templateDelimiter)
38 if(str == null || templateDelimiter == null)
40 throw new IllegalArgumentException("null arguments not allowed");
44 this.templateDelimiter = templateDelimiter;
47 public StringTemplate(String str)
52 public StringTemplate set(String template, String value)
54 if(template == null || value == null)
56 throw new IllegalArgumentException("null arguments not allowed");
59 this.templateValues.put(template, value);
63 public StringTemplate set(String template, long value)
65 return set(template, Long.toString(value));
68 public StringTemplate set(String template, double value)
70 return set(template, Double.toString(value));
73 public StringTemplate set(String template, Object obj)
75 if(template == null || obj == null)
77 throw new IllegalArgumentException("null arguments not allowed");
80 return set(template, obj.toString());
84 public String toString()
88 for(String key : this.templateValues.keySet())
90 String value = this.templateValues.get(key);
91 ret = ret.replace(templateDelimiter + key, value);