@@ -7,7 +7,7 @@ This guide will help you get started with Contentstack Java Utils SDK to build a
7
7
### Prerequisites
8
8
- JDK 8 or later
9
9
- Contentstack account
10
- - Latest version of IntelliJ IDEA / Eclipse / VSCode
10
+ - Latest version of IntelliJ IDEA / Eclipse / VSCode /
11
11
12
12
### SDK Installation and Setup
13
13
To 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
16
16
< dependency>
17
17
< groupId> com. contentstack. sdk< / groupId>
18
18
< artifactId> util< / artifactId>
19
- < version> 1.0 . 0 < / version>
19
+ < version> latest < / version>
20
20
< / dependency>
21
21
```
22
22
@@ -27,7 +27,7 @@ If you are using Contentstack Java SDK, then the Utils SDK is already imported i
27
27
< dependency>
28
28
< groupId> com. contentstack. sdk< / groupId>
29
29
< 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
31
31
< / dependency>
32
32
```
33
33
@@ -40,44 +40,54 @@ To render embedded items on the front-end, use the renderContents function, and
40
40
41
41
``` java
42
42
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
+ }
78
70
}
79
71
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
+
81
91
```
82
92
83
93
@@ -106,7 +116,7 @@ entry.fetch(new EntryResultCallBack() {
106
116
JSONObject jsonObject = entry. toJSON();
107
117
Utils . render(jsonObject, keyPath, new Option ());
108
118
} else {
109
- [Error block]
119
+ [Error block] // handle your error
110
120
}}
111
121
});
112
122
```
@@ -135,9 +145,36 @@ query.find(new QueryResultsCallBack() {
135
145
Utils . render(jsonObject, keyPath, new Option ());
136
146
}
137
147
}else {
138
- [Error block]
148
+ [Error block] // handle your error
139
149
}}
140
150
});
141
151
```
142
152
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
+
143
180
0 commit comments