// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.tools.template_engine; public final class CompoundTemplateEntry implements TemplateEntry { public static TemplateEntry fromArray(TemplateEntry... entry) { if (entry.length == 0) return new StaticText(""); else if (entry.length == 1) return entry[0]; else return new CompoundTemplateEntry(entry); } private CompoundTemplateEntry(TemplateEntry ... entries) { this.entries = entries; } private final TemplateEntry[] entries; @Override public void appendText(StringBuilder result, TemplateEngineDataProvider dataProvider) { for (TemplateEntry te: entries) { te.appendText(result, dataProvider); } } @Override public boolean isValid(TemplateEngineDataProvider dataProvider) { for (TemplateEntry te: entries) { if (!te.isValid(dataProvider)) return false; } return true; } @Override public String toString() { StringBuilder result = new StringBuilder(); for (TemplateEntry te: entries) { result.append(te); } return result.toString(); } }