package markup; import java.util.List; public abstract class AbstractMarkup implements MarkupElement { protected final List elements; public AbstractMarkup(List elements) { this.elements = elements; } protected void toMarkdown(StringBuilder sb, String delimiter) { sb.append(delimiter); for (MarkupElement element : elements) { element.toMarkdown(sb); } sb.append(delimiter); } protected void toHtml(StringBuilder sb, String tag) { sb.append("<").append(tag).append(">"); for (MarkupElement element : elements) { element.toHtml(sb); } sb.append(""); } protected void toTex(StringBuilder sb, String command) { sb.append(command).append("{"); for (MarkupElement element : elements) { element.toTex(sb); } sb.append("}"); } }