package org.korsakow.ide.util;
import java.util.Hashtable;
import java.util.Map;
/**
* @deprecated use StringTemplate instead
* @author d
*
*/
public class Template
{
private String template;
private Map<String, String> replacements = new Hashtable<String, String>();
public Template(String template)
{
this.template = template;
}
public void setValue(String name, Object value)
{
replacements.put(name, value.toString());
}
public void setValues(Map<String, String> replacements)
{
this.replacements.putAll(replacements);
}
public void clearValues()
{
replacements.clear();
}
public boolean isComplete(String source)
{
return source.indexOf("${") == -1; // shoddy implementation
}
public String format()
{
// todo: a sane implementation
String s = template;
for (String name : replacements.keySet())
{
String value = replacements.get(name);
s = s.replace("${" + name + "}", value);
}
if (!isComplete(s))
throw new IllegalArgumentException("template incomplete: " + s);
return s;
}
}