private void writeEditorMarkup()

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");
    }