X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FTemplate.java;fp=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FTemplate.java;h=e247e27962e6fe6d94d0a913a3a2afcadaa5c0dd;hp=0000000000000000000000000000000000000000;hb=8639c60de668b16a3aab1f673da58514c8430de9;hpb=0ab690692ea8b1a230346d7469902cc99452d90f diff --git a/src/be/nikiroo/fanfix/library/Template.java b/src/be/nikiroo/fanfix/library/Template.java new file mode 100644 index 0000000..e247e27 --- /dev/null +++ b/src/be/nikiroo/fanfix/library/Template.java @@ -0,0 +1,113 @@ +package be.nikiroo.fanfix.library; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import be.nikiroo.utils.IOUtils; +import be.nikiroo.utils.StringUtils; +import be.nikiroo.utils.streams.ReplaceInputStream; + +public class Template { + private Class location; + private String name; + + private Map values = new HashMap(); + private Map valuesTemplate = new HashMap(); + private Map> valuesTemplateList = new HashMap>(); + + public Template(Class location, String name) { + this.location = location; + this.name = name; + } + + public synchronized InputStream read() throws IOException { + + String from[] = new String[values.size() + valuesTemplate.size() + + valuesTemplateList.size()]; + String to[] = new String[from.length]; + + int i = 0; + + for (String key : values.keySet()) { + from[i] = "${" + key + "}"; + to[i] = values.get(key); + + i++; + } + for (String key : valuesTemplate.keySet()) { + InputStream value = valuesTemplate.get(key).read(); + try { + from[i] = "${" + key + "}"; + to[i] = IOUtils.readSmallStream(value); + } finally { + value.close(); + } + + i++; + } + for (String key : valuesTemplateList.keySet()) { + List