Skip to content

Commit 15468c7

Browse files
zeatfuleric-foster-angirafalniski
authored
feat: Implement Serializable interface for rich text classes (#308)
The changes in this commit add the Serializable interface to various classes in the `com.contentful.java.cda.rich` package. This allows these classes to be easily serialized and deserialized, which is important for use cases where the rich text data needs to be persisted or transmitted over a network. The main classes that now implement Serializable are: - `CDARichTableCell` - `CDARichQuote` - `CDARichListItem` - `CDARichTableRow` - `CDARichTable` - `CDARichText` - `CDARichNode` - `CDARichMark` - `CDARichHorizontalRule` - `CDARichList` - `CDARichUnorderedList` - `CDARichEmbeddedInline` - `CDARichHyperLink` This change will enable better integration with other systems and frameworks that require serializable data, and will improve the overall flexibility and usability of the rich text handling functionality in the Contentful Java CDA SDK. Co-authored-by: Eric Foster <eric.foster@angi.com> Co-authored-by: Rafal Niski <rafalniski@gmail.com>
1 parent 622a354 commit 15468c7

20 files changed

Lines changed: 58 additions & 20 deletions

src/main/java/com/contentful/java/cda/rich/CDARichBlock.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
34
import java.util.LinkedList;
45
import java.util.List;
56

67
/**
78
* A collection of several nodes.
89
*/
9-
public class CDARichBlock extends CDARichNode {
10+
public class CDARichBlock extends CDARichNode implements Serializable {
1011
final List<CDARichNode> content = new LinkedList<>();
1112

1213
/**
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* The base of a rich text field, containing all the other nodes.
57
*/
6-
public class CDARichDocument extends CDARichBlock {
8+
public class CDARichDocument extends CDARichBlock implements Serializable {
79
}

src/main/java/com/contentful/java/cda/rich/CDARichEmbeddedBlock.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* This node is an inline link to a CDAEntry
57
*
68
* @see com.contentful.java.cda.CDAEntry
79
*/
8-
public class CDARichEmbeddedBlock extends CDARichHyperLink {
10+
public class CDARichEmbeddedBlock extends CDARichHyperLink implements Serializable {
911
/**
1012
* Create a link pointing to a CDAEntry.
1113
*

src/main/java/com/contentful/java/cda/rich/CDARichEmbeddedInline.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* This node is an inline link to a CDAEntry
57
*
68
* @see com.contentful.java.cda.CDAEntry
79
*/
8-
public class CDARichEmbeddedInline extends CDARichHyperLink {
10+
public class CDARichEmbeddedInline extends CDARichHyperLink implements Serializable {
911
/**
1012
* Create a link pointing to a CDAEntry.
1113
*

src/main/java/com/contentful/java/cda/rich/CDARichHeading.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* Defines a headline of the text.
57
* <p>
68
* Can have an arbitrary level assigned, but useful probably between 1 and 6.
79
*/
8-
public class CDARichHeading extends CDARichBlock {
10+
public class CDARichHeading extends CDARichBlock implements Serializable {
911
private final int level;
1012

1113
/**

src/main/java/com/contentful/java/cda/rich/CDARichHorizontalRule.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* A node representing a division, called a horizontal rule.
57
*/
6-
public class CDARichHorizontalRule extends CDARichNode {
8+
public class CDARichHorizontalRule extends CDARichNode implements Serializable {
79
/**
810
* Construct this node.
911
*/

src/main/java/com/contentful/java/cda/rich/CDARichHyperLink.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* This block represents a link to a website.
57
*/
6-
public class CDARichHyperLink extends CDARichBlock {
8+
public class CDARichHyperLink extends CDARichBlock implements Serializable {
79
Object data;
810

911
/**

src/main/java/com/contentful/java/cda/rich/CDARichList.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* Parent class for all list classes
57
*/
6-
public class CDARichList extends CDARichBlock {
8+
public class CDARichList extends CDARichBlock implements Serializable {
79
final CharSequence decoration;
810

911
/**
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* A block representing an item inside a list.
57
*/
6-
public class CDARichListItem extends CDARichBlock {
8+
public class CDARichListItem extends CDARichBlock implements Serializable {
79
}

src/main/java/com/contentful/java/cda/rich/CDARichMark.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.contentful.java.cda.rich;
22

3+
import java.io.Serializable;
4+
35
/**
46
* How to draw a given text.
57
* <p>
68
* Subclasses are used for further differentiation.
79
*/
8-
public class CDARichMark {
10+
public class CDARichMark implements Serializable {
911

1012
public CDARichMark(String type) {
1113
this.type = type;

0 commit comments

Comments
 (0)