fix(serialize-generator): Patch leftovers
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2024-04-18 21:42:57 +02:00
parent b669803fa1
commit b0d2250d8a
Signed by: Johannes
GPG Key ID: E76429612C2929F4
22 changed files with 111 additions and 50 deletions

View File

@ -2,6 +2,8 @@ package io.gitlab.jfronny.commons.serialize.generator.adapter.impl;
import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.ParameterizedTypeName;
import com.squareup.javapoet.TypeVariableName;
import io.gitlab.jfronny.commons.serialize.generator.Cl;
import io.gitlab.jfronny.commons.serialize.generator.adapter.Adapter;
import io.gitlab.jfronny.commons.serialize.generator.core.TypeHelper;
@ -75,8 +77,11 @@ public class ArrayAdapter extends Adapter<ArrayAdapter.Hydrated> {
MethodSpec.methodBuilder(methodName)
.addModifiers(Modifier.PRIVATE, Modifier.STATIC)
.returns(typeName)
.addParameter(Cl.SERIALIZE_READER, "reader")
.addException(IOException.class)
.addTypeVariable(TypeVariableName.get("TEx", Exception.class))
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(kode.build())
.build()
);

View File

@ -1,8 +1,6 @@
package io.gitlab.jfronny.commons.serialize.generator.adapter.impl;
import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.*;
import io.gitlab.jfronny.commons.data.MutCollection;
import io.gitlab.jfronny.commons.serialize.generator.Cl;
import io.gitlab.jfronny.commons.serialize.generator.adapter.Adapter;
@ -107,8 +105,11 @@ public class CollectionAdapter extends Adapter<CollectionAdapter.Hydrated> {
MethodSpec.methodBuilder(methodName)
.addModifiers(Modifier.PRIVATE, Modifier.STATIC)
.returns(typeName)
.addParameter(Cl.SERIALIZE_READER, "reader")
.addException(IOException.class)
.addTypeVariable(TypeVariableName.get("TEx", Exception.class))
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(kode.build())
.build()
);

View File

@ -45,6 +45,7 @@ public class DateAdapter extends Adapter<DateAdapter.Hydrated> {
.addModifiers(Modifier.PRIVATE, Modifier.STATIC)
.returns(Date.class)
.addParameter(String.class, "date")
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(
CodeBlock.builder()
.beginControlFlow("try")

View File

@ -1,8 +1,6 @@
package io.gitlab.jfronny.commons.serialize.generator.adapter.impl;
import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.*;
import io.gitlab.jfronny.commons.data.String2ObjectMap;
import io.gitlab.jfronny.commons.serialize.generator.Cl;
import io.gitlab.jfronny.commons.serialize.generator.adapter.Adapter;
@ -185,8 +183,11 @@ public class MapAdapter extends Adapter<MapAdapter.Hydrated> {
MethodSpec.methodBuilder(methodName)
.addModifiers(Modifier.PRIVATE, Modifier.STATIC)
.returns(typeName)
.addParameter(Cl.SERIALIZE_READER, "reader")
.addException(IOException.class)
.addTypeVariable(TypeVariableName.get("TEx", Exception.class))
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(kode.build())
.build()
);

View File

@ -97,6 +97,7 @@ public abstract class GProcessor {
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.returns(isStatic ? TypeName.VOID : classType)
.addCode(isStatic ? this.isStatic ? "$T.deserialize(reader);" : "return $T.deserialize(reader);" : this.isStatic ? "$L.deserialize(reader);" : "return $L.deserialize(reader);", isStatic ? adapter : "adapter")
.build()
@ -108,6 +109,7 @@ public abstract class GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(TypeVariableName.get("Writer"), "writer")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(isStatic ? "$T.$L;" : "$L.$L", isStatic ? adapter : "adapter", writeStatement)
.build()
);
@ -132,10 +134,11 @@ public abstract class GProcessor {
.addParameter(TypeName.get(Reader.class), "in")
.addParameter(ParameterizedTypeName.get(Cl.TRANSPORT, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"), TypeVariableName.get("Writer")), "transport")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.returns(isStatic ? TypeName.VOID : classType)
.addCode(configureReader.apply(CodeBlock.builder().beginControlFlow("try ($T reader = transport.createReader(in))", Cl.SERIALIZE_READER))
.addCode(configureReader.apply(CodeBlock.builder().beginControlFlow((isStatic ? "" : "return ") + "transport.read(in, reader -> "))
.addStatement(readStatement)
.endControlFlow()
.addStatement("$<})")
.build())
.build()
);
@ -143,14 +146,15 @@ public abstract class GProcessor {
spec.addMethod(
extension(MethodSpec.methodBuilder("deserialize"))
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(TypeName.get(String.class), "json")
.addParameter(TypeName.get(String.class), "serialized")
.addTypeVariable(TypeVariableName.get("TEx", Exception.class))
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(ParameterizedTypeName.get(Cl.TRANSPORT, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"), TypeVariableName.get("Writer")), "transport")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.returns(isStatic ? TypeName.VOID : classType)
.addCode(CodeBlock.builder().beginControlFlow("try ($1T reader = new $1T(json))", StringReader.class)
.addCode(CodeBlock.builder().beginControlFlow("try ($1T reader = new $1T(serialized))", StringReader.class)
.addStatement(readStatementT)
.endControlFlow()
.build())
@ -179,6 +183,7 @@ public abstract class GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(ParameterizedTypeName.get(Cl.TRANSPORT, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"), TypeVariableName.get("Writer")), "transport")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addException(IOException.class)
.returns(isStatic ? TypeName.VOID : classType)
.addCode(CodeBlock.builder().beginControlFlow("try ($T reader = $T.newBufferedReader(path))", BufferedReader.class, Files.class)
@ -197,9 +202,10 @@ public abstract class GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(ParameterizedTypeName.get(Cl.TRANSPORT, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"), TypeVariableName.get("Writer")), "transport")
.addException(TypeVariableName.get("TEx"))
.addCode(configureWriter.apply(CodeBlock.builder().beginControlFlow("try ($T writer = transport.createWriter(out))", Cl.SERIALIZE_WRITER))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(configureWriter.apply(CodeBlock.builder().beginControlFlow("transport.write(out, writer -> ", Cl.SERIALIZE_WRITER))
.addStatement(writeStatement)
.endControlFlow()
.addStatement("$<})")
.build())
.build()
);
@ -213,6 +219,7 @@ public abstract class GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(ParameterizedTypeName.get(Cl.TRANSPORT, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"), TypeVariableName.get("Writer")), "transport")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addException(IOException.class)
.addCode(disableSafe ? CodeBlock.builder().beginControlFlow("try ($1T writer = $2T.newBufferedWriter(path, $3T.CREATE, $3T.WRITE, $3T.TRUNCATE_EXISTING))", BufferedWriter.class, Files.class, StandardOpenOption.class)
.addStatement(writeStatementT)
@ -237,13 +244,10 @@ public abstract class GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(ParameterizedTypeName.get(Cl.TRANSPORT, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"), TypeVariableName.get("Writer")), "transport")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addException(IOException.class)
.returns(String.class)
.addCode(CodeBlock.builder().beginControlFlow("try ($1T writer = new $1T())", StringWriter.class)
.addStatement(writeStatementT)
.addStatement("return writer.toString()")
.endControlFlow()
.build())
.addCode("return transport.write(writer -> "+ writeStatement + ");")
.build()
);

View File

@ -33,6 +33,7 @@ public class InstanceProcessor extends GProcessor {
.addParameter(classType, "value")
.addParameter(TypeVariableName.get("Writer"), "writer")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(generatedClassName.simpleName() + ".serialize(value, writer);")
.build())
.addMethod(MethodSpec.methodBuilder("deserialize")
@ -42,6 +43,7 @@ public class InstanceProcessor extends GProcessor {
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.returns(classType)
.addCode("return " + generatedClassName.simpleName() + ".deserialize(reader);")
.build())
@ -113,6 +115,7 @@ public class InstanceProcessor extends GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(TypeVariableName.get("Writer"), "writer")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(code.build())
.build());
}
@ -208,6 +211,7 @@ public class InstanceProcessor extends GProcessor {
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(code.build())
.build());
}

View File

@ -9,7 +9,6 @@ import io.gitlab.jfronny.commons.serialize.generator.core.value.*;
import javax.annotation.processing.Messager;
import javax.lang.model.element.Modifier;
import java.io.IOException;
import java.util.List;
import java.util.Set;
@ -80,6 +79,7 @@ public class StaticProcessor extends GProcessor {
.addTypeVariable(TypeVariableName.get("Writer", ParameterizedTypeName.get(Cl.SERIALIZE_WRITER, TypeVariableName.get("TEx"), TypeVariableName.get("Writer"))))
.addParameter(TypeVariableName.get("Writer"), "writer")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(code.build())
.build());
}
@ -133,6 +133,7 @@ public class StaticProcessor extends GProcessor {
.addTypeVariable(TypeVariableName.get("Reader", ParameterizedTypeName.get(Cl.SERIALIZE_READER, TypeVariableName.get("TEx"), TypeVariableName.get("Reader"))))
.addParameter(TypeVariableName.get("Reader"), "reader")
.addException(TypeVariableName.get("TEx"))
.addException(Cl.MALFORMED_DATA_EXCEPTION)
.addCode(code.build())
.build());
}

View File

@ -56,7 +56,7 @@ public class XmlWriter extends SerializeWriter<IOException, XmlWriter> {
}
@Override
public void close() throws Exception {
public void close() throws IOException {
throw new UnsupportedOperationException("Not yet implemented");
}
}

View File

@ -4,7 +4,9 @@ import io.gitlab.jfronny.commons.concurrent.ScopedValue;
import io.gitlab.jfronny.commons.concurrent.WithScopedValue;
import org.jetbrains.annotations.ApiStatus;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
public interface Transport<TEx extends Exception, Reader extends SerializeReader<TEx, Reader>, Writer extends SerializeWriter<TEx, Writer>> extends WithScopedValue<Transport<?, ?, ?>> {
ScopedValue<Transport<?, ?, ?>> DEFAULT = new ScopedValue<>();
@ -30,4 +32,46 @@ public interface Transport<TEx extends Exception, Reader extends SerializeReader
Writer createWriter(java.io.Writer target) throws TEx;
String getFormatMime();
// Utility methods for reading and writing. Not intended to be overridden.
default void read(java.io.Reader source, Action<Reader, TEx> action) throws TEx, MalformedDataException {
try (Reader reader = createReader(source)) {
action.run(reader);
}
}
default void read(String source, Action<Reader, TEx> action) throws TEx, MalformedDataException {
read(new StringReader(source), action);
}
default <R> R read(java.io.Reader source, Returnable<Reader, R, TEx> action) throws TEx, MalformedDataException {
try (Reader reader = createReader(source)) {
return action.run(reader);
}
}
default <R> R read(String source, Returnable<Reader, R, TEx> action) throws TEx, MalformedDataException {
return read(new StringReader(source), action);
}
default void write(java.io.Writer target, Action<Writer, TEx> action) throws TEx, MalformedDataException {
try (Writer writer = createWriter(target)) {
action.run(writer);
}
}
default String write(Action<Writer, TEx> action) throws TEx, IOException {
try (StringWriter sw = new StringWriter()) {
write(sw, action);
return sw.toString();
}
}
interface Returnable<T, R, TEx extends Exception> {
R run(T value) throws TEx, MalformedDataException;
}
interface Action<T, TEx extends Exception> {
void run(T value) throws TEx, MalformedDataException;
}
}

View File

@ -17,7 +17,7 @@ import java.io.StringWriter;
import static io.gitlab.jfronny.muscript.data.dynamic.type.DSL.*;
import static io.gitlab.jfronny.muscript.data.dynamic.type.DSL.BOOL;
public class TransportLib<TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>, Writer extends SerializeWriter<TEx, Writer>> {
public class TransportLib<TEx extends Exception, Reader extends SerializeReader<TEx, Reader>, Writer extends SerializeWriter<TEx, Writer>> {
private final DynamicTypeAdapter adapter = new DynamicTypeAdapter();
private final String serializeName;
private final String deserializeName;

View File

@ -31,7 +31,7 @@ public class DynamicTypeAdapter extends TypeAdapter<Dynamic> {
}
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(Dynamic value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(Dynamic value, Writer writer) throws TEx, MalformedDataException {
if (value == null) writer.nullValue();
else if (value instanceof DDate date) dDate.serialize(date, writer);
else if (value instanceof DTime time) dTime.serialize(time, writer);
@ -48,7 +48,7 @@ public class DynamicTypeAdapter extends TypeAdapter<Dynamic> {
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> Dynamic deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> Dynamic deserialize(Reader reader) throws TEx, MalformedDataException {
return switch (reader.peek()) {
case BEGIN_OBJECT -> dObject.deserialize(reader);
case BEGIN_ARRAY -> dList.deserialize(reader);

View File

@ -11,12 +11,12 @@ import io.gitlab.jfronny.muscript.data.dynamic.DBool;
@SerializerFor(targets = DBool.class, hierarchical = true)
public class DBoolTypeAdapter extends TypeAdapter<DBool> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DBool value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DBool value, Writer writer) throws TEx, MalformedDataException {
writer.value(value.getValue());
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DBool deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DBool deserialize(Reader reader) throws TEx, MalformedDataException {
return DFinal.of(reader.nextBoolean());
}
}

View File

@ -10,13 +10,13 @@ import io.gitlab.jfronny.muscript.data.dynamic.DCallable;
@SerializerFor(targets = DCallable.class, hierarchical = true)
public class DCallableTypeAdapter extends TypeAdapter<DCallable> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DCallable value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DCallable value, Writer writer) throws TEx, MalformedDataException {
if (value.getName().equals(DCallable.DEFAULT_NAME)) throw new IllegalArgumentException("Unnamed callables cannot be serialized to json");
else writer.value(value.getName());
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DCallable deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DCallable deserialize(Reader reader) throws TEx, MalformedDataException {
throw new UnsupportedOperationException("DCallables cannot be deserialized from json");
}
}

View File

@ -17,7 +17,7 @@ import java.util.List;
@SerializerFor(targets = DList.class, hierarchical = true)
public class DListTypeAdapter extends TypeAdapter<DList> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DList value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DList value, Writer writer) throws TEx, MalformedDataException {
writer.beginArray();
for (Dynamic v : value.getValue()) {
DynamicTypeAdapterHolder.getInstance().serialize(v, writer);
@ -26,7 +26,7 @@ public class DListTypeAdapter extends TypeAdapter<DList> {
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DList deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DList deserialize(Reader reader) throws TEx, MalformedDataException {
List<Dynamic> elements = new LinkedList<>();
reader.beginArray();
while (reader.peek() != Token.END_ARRAY) {

View File

@ -10,12 +10,12 @@ import io.gitlab.jfronny.muscript.data.dynamic.DNull;
@SerializerFor(targets = DNull.class, hierarchical = true)
public class DNullTypeAdapter extends TypeAdapter<DNull> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DNull value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DNull value, Writer writer) throws TEx, MalformedDataException {
writer.nullValue();
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DNull deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DNull deserialize(Reader reader) throws TEx, MalformedDataException {
reader.nextNull();
return new DNull();
}

View File

@ -11,14 +11,14 @@ import io.gitlab.jfronny.muscript.data.dynamic.DNumber;
@SerializerFor(targets = DNumber.class, hierarchical = true)
public class DNumberTypeAdapter extends TypeAdapter<DNumber> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DNumber value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DNumber value, Writer writer) throws TEx, MalformedDataException {
double d = value.getValue();
if (d % 1.0 != 0 || d > Long.MAX_VALUE) writer.value(d);
else writer.value((long) d);
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DNumber deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DNumber deserialize(Reader reader) throws TEx, MalformedDataException {
return DFinal.of(reader.nextDouble());
}
}

View File

@ -17,7 +17,7 @@ import java.util.Map;
@SerializerFor(targets = DObject.class, hierarchical = true)
public class DObjectTypeAdapter extends TypeAdapter<DObject> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DObject value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DObject value, Writer writer) throws TEx, MalformedDataException {
writer.beginObject();
for (Map.Entry<String, ? extends Dynamic> entry : value.getValue().entrySet()) {
writer.name(entry.getKey());
@ -27,7 +27,7 @@ public class DObjectTypeAdapter extends TypeAdapter<DObject> {
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DObject deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DObject deserialize(Reader reader) throws TEx, MalformedDataException {
Map<String, Dynamic> elements = new LinkedHashMap<>();
reader.beginObject();
while (reader.peek() != Token.END_OBJECT) {

View File

@ -13,12 +13,12 @@ import io.gitlab.jfronny.muscript.json.impl.DynamicTypeAdapterHolder;
@SerializerFor(targets = DString.class, hierarchical = true)
public class DStringTypeAdapter extends TypeAdapter<DString> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DString value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DString value, Writer writer) throws TEx, MalformedDataException {
writer.value(value.getValue());
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DString deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DString deserialize(Reader reader) throws TEx, MalformedDataException {
if (reader.peek() == Token.STRING) return DFinal.of(reader.nextString());
else return DynamicTypeAdapterHolder.getInstance().deserialize(reader).asString();
}

View File

@ -10,12 +10,12 @@ import io.gitlab.jfronny.muscript.data.dynamic.DynamicBase;
@SerializerFor(targets = DynamicBase.class, hierarchical = true)
public class DynamicBaseTypeAdapter extends TypeAdapter<DynamicBase> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DynamicBase value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DynamicBase value, Writer writer) throws TEx, MalformedDataException {
throw new UnsupportedOperationException("Tried to write unsupported custom dynamic: " + value);
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DynamicBase deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DynamicBase deserialize(Reader reader) throws TEx, MalformedDataException {
throw new UnsupportedOperationException("Tried to read unsupported custom dynamic");
}
}

View File

@ -12,12 +12,12 @@ import java.time.LocalDate;
@SerializerFor(targets = DDate.class, hierarchical = true)
public class DDateTypeAdapter extends TypeAdapter<DDate> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DDate value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DDate value, Writer writer) throws TEx, MalformedDataException {
writer.value(value.toString());
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DDate deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DDate deserialize(Reader reader) throws TEx, MalformedDataException {
String s = reader.nextString();
return new DDate(() -> LocalDate.parse(s));
}

View File

@ -10,7 +10,7 @@ import io.gitlab.jfronny.muscript.data.additional.DEnum;
@SerializerFor(targets = DEnum.class, hierarchical = true)
public class DEnumTypeAdapter extends TypeAdapter<DEnum> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DEnum value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DEnum value, Writer writer) throws TEx, MalformedDataException {
if (value.value() == null) {
writer.beginArray();
for (String s : value.values().keySet()) {
@ -21,7 +21,7 @@ public class DEnumTypeAdapter extends TypeAdapter<DEnum> {
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DEnum deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DEnum deserialize(Reader reader) throws TEx, MalformedDataException {
throw new UnsupportedOperationException("Deserializing DEnum is unsupported");
}
}

View File

@ -12,12 +12,12 @@ import java.time.LocalTime;
@SerializerFor(targets = DTime.class, hierarchical = true)
public class DTimeTypeAdapter extends TypeAdapter<DTime> {
@Override
public <TEx extends Throwable, Writer extends SerializeWriter<TEx, Writer>> void serialize(DTime value, Writer writer) throws TEx, MalformedDataException {
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(DTime value, Writer writer) throws TEx, MalformedDataException {
writer.value(value.toString());
}
@Override
public <TEx extends Throwable, Reader extends SerializeReader<TEx, Reader>> DTime deserialize(Reader reader) throws TEx, MalformedDataException {
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> DTime deserialize(Reader reader) throws TEx, MalformedDataException {
String s = reader.nextString();
return new DTime(() -> LocalTime.parse(s));
}