package scrum.client.wiki; import ilarkesto.core.base.Str; public class EntityReference extends AWikiElement { private String reference; private String label; public EntityReference(String reference, String label) { super(); this.reference = reference; this.label = label; } public EntityReference(String reference) { this(reference, reference); } @Override String toHtml(HtmlContext context) { StringBuilder sb = new StringBuilder(); sb.append("<a class='reference' "); String hrefOrOnclick = context.getEntityReferenceHrefOrOnclickAParameter(reference); sb.append(hrefOrOnclick); String entityLabel = context.getEntityLabelByReference(reference); if (!Str.isBlank(entityLabel)) { entityLabel = entityLabel.replace("'", "`"); entityLabel = entityLabel.replace("\"", "`"); sb.append(" title='").append(entityLabel).append("'"); } sb.append(">"); sb.append(escapeHtml(label)); sb.append("</a>"); return sb.toString(); } public String getLabel() { return label; } public String getReference() { return reference; } @Override public String toString() { return "EntityReference(" + reference + "," + label + ")"; } }