Respackopts/src/main/java/io/gitlab/jfronny/respackopts/gson/StringExprDeserializer.java

23 lines
1.1 KiB
Java

package io.gitlab.jfronny.respackopts.gson;
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.databind.api.SerializerFor;
import io.gitlab.jfronny.commons.serialize.databind.api.TypeAdapter;
import io.gitlab.jfronny.muscript.ast.StringExpr;
import io.gitlab.jfronny.muscript.ast.context.ExprUtils;
@SerializerFor(targets = StringExpr.class)
public class StringExprDeserializer extends TypeAdapter<StringExpr> {
@Override
public <TEx extends Exception, Writer extends SerializeWriter<TEx, Writer>> void serialize(StringExpr stringExpr, Writer writer) throws TEx, MalformedDataException {
ExprDeserializer.INSTANCE.serialize(stringExpr, writer);
}
@Override
public <TEx extends Exception, Reader extends SerializeReader<TEx, Reader>> StringExpr deserialize(Reader reader) throws TEx, MalformedDataException {
return ExprUtils.asString(ExprDeserializer.INSTANCE.deserialize(reader));
}
}