From 5081338a6f49fa8183fc003569c24ea1dafc97c7 Mon Sep 17 00:00:00 2001
From: Patrick Doyle
Date: Sun, 8 Sep 2024 06:23:02 -0400
Subject: [PATCH] Add JacksonPluginConfiguration
---
.../main/java/works/bosk/jackson/JacksonPlugin.java | 11 ++++++++++-
.../bosk/jackson/JacksonPluginConfiguration.java | 9 +++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
create mode 100644 bosk-jackson/src/main/java/works/bosk/jackson/JacksonPluginConfiguration.java
diff --git a/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPlugin.java b/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPlugin.java
index d9846da9..113c9567 100644
--- a/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPlugin.java
+++ b/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPlugin.java
@@ -1,6 +1,5 @@
package works.bosk.jackson;
-import com.fasterxml.jackson.core.JacksonException;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
@@ -67,6 +66,7 @@
import static works.bosk.ListingEntry.LISTING_ENTRY;
import static works.bosk.ReferenceUtils.rawClass;
import static works.bosk.ReferenceUtils.theOnlyConstructorFor;
+import static works.bosk.jackson.JacksonPluginConfiguration.defaultConfiguration;
/**
* Provides JSON serialization/deserialization using Jackson.
@@ -74,6 +74,15 @@
*/
public final class JacksonPlugin extends SerializationPlugin {
private final JacksonCompiler compiler = new JacksonCompiler(this);
+ private final JacksonPluginConfiguration config;
+
+ public JacksonPlugin() {
+ this(defaultConfiguration());
+ }
+
+ public JacksonPlugin(JacksonPluginConfiguration config) {
+ this.config = config;
+ }
public BoskJacksonModule moduleFor(BoskInfo> boskInfo) {
return new BoskJacksonModule() {
diff --git a/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPluginConfiguration.java b/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPluginConfiguration.java
new file mode 100644
index 00000000..3626719e
--- /dev/null
+++ b/bosk-jackson/src/main/java/works/bosk/jackson/JacksonPluginConfiguration.java
@@ -0,0 +1,9 @@
+package works.bosk.jackson;
+
+public record JacksonPluginConfiguration(
+ boolean useLinkedEntries
+) {
+ public static JacksonPluginConfiguration defaultConfiguration() {
+ return new JacksonPluginConfiguration(false);
+ }
+}