@@ -7,7 +7,7 @@ This guide will help you get started with Contentstack Java Utils SDK to build a
77### Prerequisites
88- JDK 8 or later
99- Contentstack account
10- - Latest version of IntelliJ IDEA / Eclipse / VSCode
10+ - Latest version of IntelliJ IDEA / Eclipse / VSCode /
1111
1212### SDK Installation and Setup
1313To setup Utils SDK in your Java project, add the following dependency in the pom.xml file
@@ -16,7 +16,7 @@ To setup Utils SDK in your Java project, add the following dependency in the pom
1616< dependency>
1717 < groupId> com. contentstack. sdk< / groupId>
1818 < artifactId> util< / artifactId>
19- < version> 1.0 . 0 < / version>
19+ < version> latest < / version>
2020< / dependency>
2121```
2222
@@ -27,7 +27,7 @@ If you are using Contentstack Java SDK, then the Utils SDK is already imported i
2727< dependency>
2828 < groupId> com. contentstack. sdk< / groupId>
2929 < artifactId> java< / artifactId>
30- < version> 1.6 . 0 < / version> // version 1.6.0 or above
30+ < version> latest < / version> // version 1.6.0 or above
3131< / dependency>
3232```
3333
@@ -40,44 +40,54 @@ To render embedded items on the front-end, use the renderContents function, and
4040
4141``` java
4242
43- Utils . renderContents(rteArray, localJsonObj, (embeddedObject, metadata) - > {
44-
45- switch (metadata. getStyleType()) {
46- // in case you have embedded items using “block” option in the RTE
47- case BLOCK :
48- String title = embeddedObject. getString(" title" );
49- String multi_line = embeddedObject. getString(" multi_line" );
50- return " <p>" + title + " </p><span>" + multi_line + " </span>" ;
51-
52- // in case you have embedded items using “inline” option in the RTE
53- case INLINE :
54- String titleInline = embeddedObject. getString(" title" );
55- String mlInline = embeddedObject. getString(" multi_line" );
56- return " <p>" + titleInline + " </p><span>" + mlInline + " </span>" ;
57-
58- // in case you have embedded items using “link” option in the RTE
59- case LINKED :
60- String titleLinked = embeddedObject. getString(" title" );
61- String mlLinked = embeddedObject. getString(" multi_line" );
62- return " <p>" + titleLinked + " </p><span>" + mlLinked + " </span>" ;
63-
64- // in case you have embedded items using “display” option in the RTE
65- case DISPLAY :
66- String titleDiplayable = embeddedObject. getString(" title" );
67- String mlDiplayable = embeddedObject. getString(" multi_line" );
68- return " <p>" + titleDiplayable + " </p><span>" + mlDiplayable + " </span>" ;
69-
70- // in case you have embedded items using “display” option in the RTE
71- case DOWNLOAD :
72- String titleDownload = embeddedObject. getString(" title" );
73- String mlDownload = embeddedObject. getString(" multi_line" );
74- return " <p>" + titleDiplayable + " </p><span>" + mlDownload + " </span>" ;
75-
76- default :
77- return null ;
43+ package com.contentstack.utils ;
44+ import com.contentstack.utils.helper.Metadata ;
45+ import com.contentstack.utils.interfaces.NodeCallback ;
46+ import com.contentstack.utils.interfaces.Option ;
47+ import com.contentstack.utils.node.MarkType ;
48+ import org.json.JSONObject ;
49+
50+ public class DefaultOptionClass implements Option {
51+
52+ @Override
53+ public String renderOptions (JSONObject embeddedObject , Metadata metadata ) {
54+ switch (metadata. getStyleType()) {
55+ case BLOCK :
56+ return " <p>" + embeddedObject. getString(" title" ) + " </p><span>" +
57+ embeddedObject. getString(" multi" ) + " </span>" ;
58+ case INLINE :
59+ return " <p>" + embeddedObject. getString(" title" ) + " </p><span>" +
60+ embeddedObject. getString(" line" ) + " </span>" ;
61+ case LINK :
62+ return " <p>" + embeddedObject. getString(" title" ) + " </p><span>" +
63+ embeddedObject. getString(" key" ) + " </span>" ;
64+ case DISPLAY :
65+ return " <p>" + embeddedObject. getString(" someTitle" ) + " </p><span>" +
66+ embeddedObject. getString(" multi" ) + " </span>" ;
67+ default :
68+ return null ;
69+ }
7870 }
7971
80- });
72+ @Override
73+ public String renderMark (MarkType markType , String renderText ) {
74+ if (markType == MarkType . BOLD ) {
75+ return " <b>" + renderText + " </b>" ;
76+ }
77+ return null ;
78+ }
79+
80+ @Override
81+ public String renderNode (String nodeType , JSONObject nodeObject , NodeCallback callback ) {
82+ if (nodeType. equalsIgnoreCase(" paragraph" )) {
83+ String children = callback. renderChildren(nodeObject. optJSONArray(" children" ));
84+ return " <p class='class-id'>" + children + " </p>" ;
85+ }
86+
87+ return null ;
88+ }
89+ }
90+
8191```
8292
8393
@@ -106,7 +116,7 @@ entry.fetch(new EntryResultCallBack() {
106116 JSONObject jsonObject = entry. toJSON();
107117 Utils . render(jsonObject, keyPath, new Option ());
108118 } else {
109- [Error block]
119+ [Error block] // handle your error
110120 }}
111121});
112122```
@@ -135,9 +145,36 @@ query.find(new QueryResultsCallBack() {
135145 Utils . render(jsonObject, keyPath, new Option ());
136146 }
137147 }else {
138- [Error block]
148+ [Error block] // handle your error
139149 }}
140150});
141151```
142152
153+ #### Render JSON RTE Contents
154+ To get multiple entries, you need to provide the stack API key, environment name, delivery token, content type and entry UID. Then, use the Contentstack.Utils.jsonToHTML function as shown below:
155+
156+ ``` java
157+
158+ import Contentstack
159+ Stack stack = Contentstack . stack(" apiKey" , " deliveryToken" , " environment_name" );
160+ Query query = stack. contentType(" content_type_uid" ). query();
161+ query. includeEmbeddedItems(); // include embedded items
162+ query. find(new QueryResultsCallBack () {
163+ @Override
164+ public void onCompletion (ResponseType responseType , QueryResult queryResult , Error error ) {
165+ if (error == null ) {
166+ List<Entry > entries = queryresult. getResultObjects();
167+ String [] keyPath = {
168+ " rte_fieldUid" , " group.rteFieldUID"
169+ };
170+ for (Entry entry : entries) {
171+ JSONObject jsonObject = entry. toJSON();
172+ Utils . jsonToHTML(jsonObject, keyPath, new Option ());
173+ }
174+ }}
175+ });
176+
177+ ```
178+
179+
143180
0 commit comments