All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.contentstack.utils.render.DefaultOption Maven / Gradle / Ivy

package com.contentstack.utils.render;

import com.contentstack.utils.helper.Metadata;
import com.contentstack.utils.interfaces.NodeCallback;
import com.contentstack.utils.interfaces.Option;
import com.contentstack.utils.node.MarkType;
import org.json.JSONObject;


public class DefaultOption implements Option {

    /**
     * Accepts below params to provides defaults options
     *
     * @param embeddedObject entry embedded object
     * @param metadata       for of the entry object
     * @return String as result
     */
    @Override
    public String renderOptions(JSONObject embeddedObject, Metadata metadata) {
        switch (metadata.getStyleType()) {
            case BLOCK:
                return "

" + findTitleOrUid(embeddedObject) + "

Content type: " + embeddedObject.optString("_content_type_uid") + "

"; case INLINE: return "" + findTitleOrUid(embeddedObject) + ""; case LINK: return "" + findTitleOrUid(embeddedObject) + ""; case DISPLAY: return "\"""; default: return ""; } } @Override public String renderMark(MarkType markType, String text) { switch (markType) { case SUPERSCRIPT: return "" + text + ""; case SUBSCRIPT: return "" + text + ""; case INLINECODE: return "" + text + ""; case STRIKETHROUGH: return "" + text + ""; case UNDERLINE: return "" + text + ""; case ITALIC: return "" + text + ""; case BOLD: return "" + text + ""; default: return text; } } @Override public String renderNode(String nodeType, JSONObject nodeObject, NodeCallback callback) { String children = callback.renderChildren(nodeObject.optJSONArray("children")); switch (nodeType) { case "p": return "

" + children + "

"; case "a": return "" + children + ""; case "img": return "" + children; case "embed": return "