com.jsoniter.output.CodegenAccess Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsoniter Show documentation
Show all versions of jsoniter Show documentation
jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go
package com.jsoniter.output;
import com.jsoniter.any.Any;
import com.jsoniter.spi.Encoder;
import com.jsoniter.spi.JsoniterSpi;
import com.jsoniter.spi.TypeLiteral;
import java.io.IOException;
public class CodegenAccess {
public static void writeVal(String cacheKey, Object obj, JsonStream stream) throws IOException {
JsoniterSpi.getEncoder(cacheKey).encode(obj, stream);
}
public static void writeVal(String cacheKey, boolean obj, JsonStream stream) throws IOException {
Encoder.BooleanEncoder encoder = (Encoder.BooleanEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeBoolean(obj, stream);
}
public static void writeVal(String cacheKey, byte obj, JsonStream stream) throws IOException {
Encoder.ShortEncoder encoder = (Encoder.ShortEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeShort(obj, stream);
}
public static void writeVal(String cacheKey, short obj, JsonStream stream) throws IOException {
Encoder.ShortEncoder encoder = (Encoder.ShortEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeShort(obj, stream);
}
public static void writeVal(String cacheKey, int obj, JsonStream stream) throws IOException {
Encoder.IntEncoder encoder = (Encoder.IntEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeInt(obj, stream);
}
public static void writeVal(String cacheKey, char obj, JsonStream stream) throws IOException {
Encoder.IntEncoder encoder = (Encoder.IntEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeInt(obj, stream);
}
public static void writeVal(String cacheKey, long obj, JsonStream stream) throws IOException {
Encoder.LongEncoder encoder = (Encoder.LongEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeLong(obj, stream);
}
public static void writeVal(String cacheKey, float obj, JsonStream stream) throws IOException {
Encoder.FloatEncoder encoder = (Encoder.FloatEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeFloat(obj, stream);
}
public static void writeVal(String cacheKey, double obj, JsonStream stream) throws IOException {
Encoder.DoubleEncoder encoder = (Encoder.DoubleEncoder) JsoniterSpi.getEncoder(cacheKey);
encoder.encodeDouble(obj, stream);
}
public static void writeMapKey(String cacheKey, Object mapKey, JsonStream stream) throws IOException {
String encodedMapKey = JsoniterSpi.getMapKeyEncoder(cacheKey).encode(mapKey);
stream.writeVal(encodedMapKey);
}
public static void writeStringWithoutQuote(String obj, JsonStream stream) throws IOException {
StreamImplString.writeStringWithoutQuote(stream, obj);
}
public static void staticGenEncoders(TypeLiteral[] typeLiterals, StaticCodegenTarget staticCodegenTarget) {
Codegen.staticGenEncoders(typeLiterals, staticCodegenTarget);
}
public static Any wrap(Object val) {
if (val == null) {
return Any.wrapNull();
}
Class> clazz = val.getClass();
String cacheKey = TypeLiteral.create(clazz).getEncoderCacheKey();
return Codegen.getReflectionEncoder(cacheKey, clazz).wrap(val);
}
public static class StaticCodegenTarget {
public final String outputDir;
public StaticCodegenTarget(String outputDir) {
this.outputDir = outputDir;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy