From 52a1e28ca3390ac35c4b8ee1766255d065eccdf0 Mon Sep 17 00:00:00 2001 From: Cliff Casey Date: Thu, 30 Jul 2026 18:33:06 -0400 Subject: [PATCH] make xapi objects implement serializable for java serial use-cases like jms --- pom.xml | 2 +- src/main/java/com/yetanalytics/xapi/model/JSONObject.java | 4 +++- src/main/java/com/yetanalytics/xapi/model/LangTag.java | 3 ++- src/main/java/com/yetanalytics/xapi/model/XapiDuration.java | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 4bcc572..142bd53 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.yetanalytics xapi-tools jar - 0.0.6 + 0.0.7 xAPI Tools Java Serialization Model and Tools for xAPI Standard (IEEE 9274.1.1) https://github.com/yetanalytics/java-xapi-tools diff --git a/src/main/java/com/yetanalytics/xapi/model/JSONObject.java b/src/main/java/com/yetanalytics/xapi/model/JSONObject.java index 157f6db..a8906e0 100644 --- a/src/main/java/com/yetanalytics/xapi/model/JSONObject.java +++ b/src/main/java/com/yetanalytics/xapi/model/JSONObject.java @@ -1,5 +1,7 @@ package com.yetanalytics.xapi.model; -public interface JSONObject { +import java.io.Serializable; + +public interface JSONObject extends Serializable { public boolean isEmpty(); } diff --git a/src/main/java/com/yetanalytics/xapi/model/LangTag.java b/src/main/java/com/yetanalytics/xapi/model/LangTag.java index eb977c7..b27adf6 100644 --- a/src/main/java/com/yetanalytics/xapi/model/LangTag.java +++ b/src/main/java/com/yetanalytics/xapi/model/LangTag.java @@ -1,5 +1,6 @@ package com.yetanalytics.xapi.model; +import java.io.Serializable; import java.util.IllformedLocaleException; import java.util.Locale; import java.util.Locale.Builder; @@ -14,7 +15,7 @@ * allowing for retrieval of both the original String and the corresponding Locale. */ @JsonInclude(Include.NON_NULL) -public class LangTag { +public class LangTag implements Serializable { private final String languageTagString; private final Locale languageTagLocale; diff --git a/src/main/java/com/yetanalytics/xapi/model/XapiDuration.java b/src/main/java/com/yetanalytics/xapi/model/XapiDuration.java index 73e0076..5eaa363 100644 --- a/src/main/java/com/yetanalytics/xapi/model/XapiDuration.java +++ b/src/main/java/com/yetanalytics/xapi/model/XapiDuration.java @@ -1,5 +1,6 @@ package com.yetanalytics.xapi.model; +import java.io.Serializable; import java.time.Duration; import com.fasterxml.jackson.annotation.JsonCreator; @@ -12,7 +13,7 @@ * allowing for retrieval of the original String. */ @JsonInclude(Include.NON_NULL) -public class XapiDuration { +public class XapiDuration implements Serializable { /** * This constructor takes an 8601 formatted String and converts it to an