fix(serialize-generator): Patch leftovers
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
This commit is contained in:
parent
b669803fa1
commit
b0d2250d8a
|
@ -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()
|
||||
);
|
||||
|
|
|
@ -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()
|
||||
);
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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()
|
||||
);
|
||||
|
|
|
@ -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()
|
||||
);
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue