in core/src/main/java/org/apache/sling/cms/core/internal/filters/EditIncludeFilter.java [182:215]
private void writeEditorMarkup(Resource resource, PrintWriter writer, I18NDictionary resourceBundle,
boolean draggable) {
boolean exists = resource.getResourceResolver().getResource(resource.getPath()) != null;
boolean last = isFirst(resource);
boolean first = isLast(resource);
EditableResource er = new EditableResourceImpl(resource);
Component component = er.getComponent();
String editPath = component.getEditPath();
String title = StringUtils.isNotEmpty(component.getTitle()) ? component.getTitle()
: StringUtils.substringAfterLast(resource.getResourceType(), "/");
title = resourceBundle.get(title);
Map<String, Object> replacements = new HashMap<>();
replacements.put("componentPath", component.getResource().getPath());
replacements.put("draggable", draggable);
replacements.put("editPath", editPath);
replacements.put("reload", component.isReloadPage());
replacements.put("resourceName", component.getResource().getName());
replacements.put("resourcePath", resource.getPath());
replacements.put("resourceType", resource.getResourceType());
replacements.put("title", title);
writeTemplate(writer, replacements, "start.html");
writeTemplate(writer, replacements, "edit.html");
if (!first || !last) {
writeTemplate(writer, replacements, "reorder.html");
}
if (!resource.getName().equals(JcrConstants.JCR_CONTENT) && exists) {
writeTemplate(writer, replacements, "delete.html");
}
writeTemplate(writer, replacements, "end.html");
}