package play.modules.origo.core.ui; import java.util.HashMap; import java.util.Map; public class RenderedNode { private String id; private String template; private String title; private String meta; private String link; private String script; private String style; private Map<String, String> regions; public RenderedNode(String id) { this.id = id; regions = new HashMap<String, String>(); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getTemplate() { return template; } public void setTemplate(String template) { this.template = template; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getMeta() { return meta; } public void setMeta(String meta) { this.meta = meta; } public String getScript() { return script; } public void setScript(String script) { this.script = script; } public Map<String, String> getRegions() { return regions; } public void setRegions(Map<String, String> regions) { this.regions = regions; } public String get(String region) { return regions.get(region); } public void addMeta(String additionalContent) { StringBuilder sb = new StringBuilder(meta != null ? meta : ""); sb.append(additionalContent); meta = sb.toString(); } public void addLink(String additionalContent) { StringBuilder sb = new StringBuilder(link != null ? link : ""); sb.append(additionalContent); link = sb.toString(); } public void addScript(String additionalContent) { StringBuilder sb = new StringBuilder(script != null ? script : ""); sb.append(additionalContent); script = sb.toString(); } public void addStyle(String additionalContent) { StringBuilder sb = new StringBuilder(style != null ? style : ""); sb.append(additionalContent); style = sb.toString(); } public void add(String region, String additionalContent) { StringBuilder sb = new StringBuilder(regions.get(region)); sb.append(additionalContent); regions.put(region, sb.toString()); } @Override public String toString() { return "RenderedNode (" + id + ", template=" + template + ") - " + title; } }