feat(serialize): implement data binding

This commit is contained in:
Johannes Frohnmeyer 2024-04-12 20:04:15 +02:00
parent e9dffa3a33
commit 7f7eb954f8
Signed by: Johannes
GPG Key ID: E76429612C2929F4
51 changed files with 191 additions and 89 deletions

View File

@ -17,7 +17,7 @@ publishing {
publications {
create<MavenPublication>("maven") {
groupId = "io.gitlab.jfronny"
artifactId = "commons-serialize-gson"
artifactId = "commons-gson"
from(components["java"])
}

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.commons.serialize.gson.api.v2;
import io.gitlab.jfronny.commons.ref.WeakSet;
import io.gitlab.jfronny.commons.serialize.Serializer;
import io.gitlab.jfronny.commons.Serializer;
import io.gitlab.jfronny.commons.serialize.gson.impl.GsonHolderSerializer;
import org.jetbrains.annotations.ApiStatus;

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.commons.serialize.gson.impl;
import io.gitlab.jfronny.commons.serialize.Serializer;
import io.gitlab.jfronny.commons.Serializer;
import io.gitlab.jfronny.commons.serialize.gson.api.v2.GsonHolder;
import io.gitlab.jfronny.gson.*;

View File

@ -2,7 +2,7 @@ package io.gitlab.jfronny.commons.test;
import io.gitlab.jfronny.commons.ComparableVersion;
import io.gitlab.jfronny.commons.data.String2ObjectMap;
import io.gitlab.jfronny.commons.serialize.Serializer;
import io.gitlab.jfronny.commons.Serializer;
import io.gitlab.jfronny.commons.serialize.annotations.Ignore;
import io.gitlab.jfronny.commons.serialize.gson.api.v2.GsonHolders;
import io.gitlab.jfronny.gson.reflect.TypeToken;

View File

@ -6,7 +6,6 @@ plugins {
dependencies {
implementation(projects.commons)
implementation(projects.commonsSerialize)
}
publishing {
@ -22,5 +21,4 @@ publishing {
tasks.javadoc {
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons/$version/raw", projects.commons)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize/$version/raw", projects.commonsSerialize)
}

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.commons.http.client;
import io.gitlab.jfronny.commons.data.Either;
import io.gitlab.jfronny.commons.serialize.Serializer;
import io.gitlab.jfronny.commons.Serializer;
import java.io.FileNotFoundException;
import java.io.IOException;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.commons.http.client;
import io.gitlab.jfronny.commons.data.Either;
import io.gitlab.jfronny.commons.serialize.Serializer;
import io.gitlab.jfronny.commons.Serializer;
import java.io.IOException;
import java.io.Reader;

View File

@ -1,6 +1,5 @@
module io.gitlab.jfronny.commons.http.client {
requires java.net.http;
requires io.gitlab.jfronny.commons;
requires io.gitlab.jfronny.commons.serialize;
exports io.gitlab.jfronny.commons.http.client;
}

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.commons.io;
import io.gitlab.jfronny.commons.serialize.Serializer;
import io.gitlab.jfronny.commons.Serializer;
import io.gitlab.jfronny.commons.throwable.ThrowingConsumer;
import org.jetbrains.annotations.Nullable;

View File

@ -17,9 +17,9 @@
package io.gitlab.jfronny.commons.serialize.databind.sql;
import io.gitlab.jfronny.commons.serialize.databind.*;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.text.DateFormat;
import java.text.ParseException;

View File

@ -19,10 +19,10 @@ package io.gitlab.jfronny.commons.serialize.databind.sql;
import io.gitlab.jfronny.commons.serialize.databind.SerializerFor;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.Token;
import java.sql.Time;
import java.text.DateFormat;

View File

@ -20,9 +20,9 @@ import io.gitlab.jfronny.commons.serialize.databind.ObjectMapper;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapterFactory;
import io.gitlab.jfronny.commons.serialize.databind.TypeToken;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.sql.Timestamp;
import java.util.Date;

View File

@ -0,0 +1,56 @@
package io.gitlab.jfronny.commons.serialize.databind;
import io.gitlab.jfronny.commons.Serializer;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.Transport;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Objects;
public class DatabindSerializer<TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>, Writer extends SerializeWriter<TEx, Writer>> implements Serializer {
private final Transport<TEx, Reader, Writer> transport;
private final ObjectMapper mapper;
public DatabindSerializer(Transport<TEx, Reader, Writer> transport, ObjectMapper mapper) {
this.transport = Objects.requireNonNull(transport);
this.mapper = Objects.requireNonNull(mapper);
}
@Override
public String serialize(Object object) throws IOException {
try {
return transport.write(writer -> mapper.serialize(object, writer));
} catch (Throwable e) {
throw e instanceof IOException x ? x : new IOException(e);
}
}
@Override
public <T> T deserialize(java.io.Reader source, Type typeOfT) throws IOException {
try (Reader reader = transport.createReader(source)) {
return (T) mapper.getAdapter(TypeToken.get(typeOfT)).deserialize(reader);
} catch (IOException e) {
throw e;
} catch (Throwable e) {
throw new IOException(e);
}
}
@Override
public <T> T deserialize(String source, Type typeOfT) throws IOException {
try (Reader reader = transport.createReader(source)) {
return (T) mapper.getAdapter(TypeToken.get(typeOfT)).deserialize(reader);
} catch (IOException e) {
throw e;
} catch (Throwable e) {
throw new IOException(e);
}
}
@Override
public String getFormatMime() {
return transport.getFormatMime();
}
}

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.commons.serialize.databind;
import io.gitlab.jfronny.commons.serialize.databind.impl.adapter.SerializationDelegatingTypeAdapter;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.lang.reflect.Type;
import java.util.*;

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.commons.serialize.databind;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
public abstract class TypeAdapter<T> {
public abstract <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(T value, Writer writer) throws TEx, MalformedDataException;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.commons.serialize.databind.impl;
import io.gitlab.jfronny.commons.data.LazilyParsedNumber;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.Token;
import java.util.Locale;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.commons.serialize.databind.impl;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.util.ArrayList;
import java.util.List;

View File

@ -5,10 +5,10 @@ import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapterFactory;
import io.gitlab.jfronny.commons.serialize.databind.TypeToken;
import io.gitlab.jfronny.commons.serialize.databind.impl.TypeUtils;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.Token;
import java.lang.reflect.Array;
import java.lang.reflect.GenericArrayType;

View File

@ -4,9 +4,9 @@ import io.gitlab.jfronny.commons.serialize.databind.SerializerFor;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.databind.impl.ISO8601Utils;
import io.gitlab.jfronny.commons.serialize.databind.impl.PreJava9DateFormatProvider;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.text.DateFormat;
import java.text.ParseException;

View File

@ -5,9 +5,9 @@ import io.gitlab.jfronny.commons.serialize.databind.ObjectMapper;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapterFactory;
import io.gitlab.jfronny.commons.serialize.databind.TypeToken;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;

View File

@ -7,10 +7,10 @@ import io.gitlab.jfronny.commons.serialize.databind.TypeToken;
import io.gitlab.jfronny.commons.serialize.databind.impl.MapKeyReader;
import io.gitlab.jfronny.commons.serialize.databind.impl.MapKeyWriter;
import io.gitlab.jfronny.commons.serialize.databind.impl.TypeUtils;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.Token;
import io.gitlab.jfronny.commons.tuple.Tuple;
import java.lang.reflect.Type;

View File

@ -2,8 +2,8 @@ package io.gitlab.jfronny.commons.serialize.databind.impl.adapter;
import io.gitlab.jfronny.commons.serialize.databind.ObjectMapper;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.lang.reflect.Type;

View File

@ -4,12 +4,12 @@ import io.gitlab.jfronny.commons.data.LazilyParsedNumber;
import io.gitlab.jfronny.commons.data.NumberLimits;
import io.gitlab.jfronny.commons.serialize.databind.SerializerFor;
import io.gitlab.jfronny.commons.serialize.databind.TypeAdapter;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.stream.emulated.DataElement;
import io.gitlab.jfronny.commons.serialize.stream.emulated.DataElementSerializer;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.Token;
import io.gitlab.jfronny.commons.serialize.emulated.DataElement;
import io.gitlab.jfronny.commons.serialize.emulated.DataElementSerializer;
import java.math.BigDecimal;
import java.math.BigInteger;

View File

@ -6,7 +6,7 @@ plugins {
}
dependencies {
implementation(projects.commonsSerializeGson)
implementation(projects.commonsGson)
testImplementation(kotlin("test"))
}
@ -30,6 +30,6 @@ tasks.javadoc {
enabled = false
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons/$version/raw", projects.commons)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize/$version/raw", projects.commonsSerialize)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize-gson/$version/raw", projects.commonsSerializeGson)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-gson/$version/raw", projects.commonsGson)
//TODO link gson javadoc (harder to generate than expected)
}

View File

@ -3,9 +3,9 @@ package io.gitlab.jfronny.commons.serialize.json;
import io.gitlab.jfronny.commons.data.LazilyParsedNumber;
import io.gitlab.jfronny.commons.serialize.StringEscapeUtil;
import io.gitlab.jfronny.commons.serialize.json.impl.JsonScope;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.Token;
import java.io.Closeable;
import java.io.EOFException;

View File

@ -0,0 +1,27 @@
package io.gitlab.jfronny.commons.serialize.json;
import io.gitlab.jfronny.commons.serialize.Transport;
import java.io.IOException;
import java.io.Reader;
import java.io.StringWriter;
public class JsonTransport implements Transport<IOException, JsonReader, JsonWriter> {
@Override
public JsonReader createReader(Reader source) {
return new JsonReader(source);
}
@Override
public String write(PerformWrite<IOException, JsonWriter> write) throws IOException {
try (StringWriter sw = new StringWriter(); JsonWriter writer = new JsonWriter(sw)) {
write.write(writer);
return sw.toString();
}
}
@Override
public String getFormatMime() {
return "application/json";
}
}

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.commons.serialize.json;
import io.gitlab.jfronny.commons.serialize.StringEscapeUtil;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.io.Closeable;
import java.io.IOException;

View File

@ -17,10 +17,10 @@
package io.gitlab.jfronny.commons.serialize.json.test;
import io.gitlab.jfronny.commons.serialize.json.JsonReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.stream.emulated.DataElementSerializer;
import io.gitlab.jfronny.commons.serialize.stream.emulated.EmulatedReader;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.Token;
import io.gitlab.jfronny.commons.serialize.emulated.DataElementSerializer;
import io.gitlab.jfronny.commons.serialize.emulated.EmulatedReader;
import io.gitlab.jfronny.commons.throwable.Try;
import org.junit.Test;
import org.junit.runner.RunWith;

View File

@ -17,8 +17,8 @@
package io.gitlab.jfronny.commons.serialize.json.test;
import io.gitlab.jfronny.commons.serialize.json.JsonReader;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.Token;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@ -29,7 +29,7 @@ import java.io.StringReader;
import java.util.Arrays;
import static com.google.common.truth.Truth.assertThat;
import static io.gitlab.jfronny.commons.serialize.stream.Token.*;
import static io.gitlab.jfronny.commons.serialize.Token.*;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.serialize.stream;
package io.gitlab.jfronny.commons.serialize;
import java.io.IOException;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.serialize.stream;
package io.gitlab.jfronny.commons.serialize;
import io.gitlab.jfronny.commons.SamWithReceiver;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.serialize.stream;
package io.gitlab.jfronny.commons.serialize;
import io.gitlab.jfronny.commons.SamWithReceiver;

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.serialize.stream;
package io.gitlab.jfronny.commons.serialize;
public enum Token {
BEGIN_ARRAY, END_ARRAY, BEGIN_OBJECT, END_OBJECT, NAME, STRING, NUMBER, BOOLEAN, NULL, END_DOCUMENT

View File

@ -0,0 +1,20 @@
package io.gitlab.jfronny.commons.serialize;
import java.io.StringReader;
public interface Transport<TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>, Writer extends SerializeWriter<TEx, Writer>> {
Reader createReader(java.io.Reader source) throws TEx;
default Reader createReader(String source) throws TEx {
return createReader(new StringReader(source));
}
String write(PerformWrite<TEx, Writer> write) throws TEx;
String getFormatMime();
@FunctionalInterface
interface PerformWrite<TEx extends Throwable, W extends SerializeWriter<TEx, W>> {
void write(W writer) throws TEx, MalformedDataException;
}
}

View File

@ -1,4 +1,4 @@
package io.gitlab.jfronny.commons.serialize.stream.emulated;
package io.gitlab.jfronny.commons.serialize.emulated;
import io.gitlab.jfronny.commons.data.LinkedTreeMap;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.commons.serialize.stream.emulated;
package io.gitlab.jfronny.commons.serialize.emulated;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.util.Map;

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.commons.serialize.stream.emulated;
package io.gitlab.jfronny.commons.serialize.emulated;
import io.gitlab.jfronny.commons.serialize.stream.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.stream.SerializeReader;
import io.gitlab.jfronny.commons.serialize.stream.Token;
import io.gitlab.jfronny.commons.serialize.MalformedDataException;
import io.gitlab.jfronny.commons.serialize.SerializeReader;
import io.gitlab.jfronny.commons.serialize.Token;
import java.util.Arrays;
import java.util.Iterator;

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.commons.serialize.stream.emulated;
package io.gitlab.jfronny.commons.serialize.emulated;
import io.gitlab.jfronny.commons.serialize.stream.SerializeWriter;
import io.gitlab.jfronny.commons.serialize.SerializeWriter;
import java.io.IOException;
import java.util.ArrayList;

View File

@ -2,7 +2,6 @@ module io.gitlab.jfronny.commons.serialize {
requires static org.jetbrains.annotations;
requires io.gitlab.jfronny.commons;
exports io.gitlab.jfronny.commons.serialize;
exports io.gitlab.jfronny.commons.serialize.stream;
exports io.gitlab.jfronny.commons.serialize.stream.emulated;
exports io.gitlab.jfronny.commons.serialize.emulated;
exports io.gitlab.jfronny.commons.serialize.annotations;
}

View File

@ -1,4 +1,6 @@
package io.gitlab.jfronny.commons.serialize;
package io.gitlab.jfronny.commons;
import io.gitlab.jfronny.commons.impl.SerializerHolder;
import java.io.IOException;
import java.io.Reader;

View File

@ -1,5 +1,6 @@
package io.gitlab.jfronny.commons.serialize;
package io.gitlab.jfronny.commons.impl;
import io.gitlab.jfronny.commons.Serializer;
import org.jetbrains.annotations.NotNull;
import java.util.Objects;
@ -7,7 +8,7 @@ import java.util.Objects;
/**
* Holds a serializer for use elsewhere
*/
class SerializerHolder {
public class SerializerHolder {
private static Serializer instance;
/**

View File

@ -6,7 +6,7 @@ plugins {
dependencies {
implementation(projects.muscriptDataAdditional)
implementation(projects.commonsSerializeGson)
implementation(projects.commonsGson)
testImplementation(libs.junit.jupiter.api)
testImplementation(projects.muscriptParser)
@ -28,7 +28,7 @@ publishing {
tasks.javadoc {
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons/$version/raw", projects.commons)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize/$version/raw", projects.commonsSerialize)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-serialize-gson/$version/raw", projects.commonsSerializeGson)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/commons-gson/$version/raw", projects.commonsGson)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/muscript-data-dynamic/$version/raw", projects.muscriptDataDynamic)
linksOffline("https://maven.frohnmeyer-wds.de/javadoc/artifacts/io/gitlab/jfronny/muscript-data-additional/$version/raw", projects.muscriptDataAdditional)
}

View File

@ -2,7 +2,6 @@ rootProject.name = "JfCommons"
include("commons")
include("commons-serialize")
include("commons-serialize-gson")
include("commons-serialize-gson-dsl")
include("commons-serialize-json")
include("commons-serialize-databind")
@ -12,6 +11,7 @@ include("commons-logger")
include("commons-http-client")
include("commons-http-server")
include("commons-manifold")
include("commons-gson")
include("commons-unsafe")
// new muscript
include("muscript-core")