Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
hydraql.shaded.fastjson2.reader.ObjectReaders Maven / Gradle / Ivy
package hydraql.shaded.fastjson2.reader;
import hydraql.shaded.fastjson2.JSONException;
import hydraql.shaded.fastjson2.function.*;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
import java.util.function.*;
public class ObjectReaders {
public static ObjectReader of(
Supplier defaultCreator,
FieldReader... fieldReaders
) {
return ObjectReaderCreator.INSTANCE.createObjectReader(null, defaultCreator, fieldReaders);
}
public static ObjectReader of(
Class objectClass,
Supplier defaultCreator,
FieldReader... fieldReaders
) {
return ObjectReaderCreator.INSTANCE.createObjectReader(objectClass, defaultCreator, fieldReaders);
}
public static ObjectReader ofString(Function function) {
return new ObjectReaderImplFromString<>(null, function);
}
public static ObjectReader ofInt(IntFunction function) {
return new ObjectReaderImplFromInt<>(null, function);
}
public static ObjectReader ofLong(LongFunction function) {
return new ObjectReaderImplFromLong<>(null, function);
}
public static ObjectReader objectReader(
Class objectClass,
Supplier defaultCreator,
FieldReader... fieldReaders
) {
return ObjectReaderCreator.INSTANCE.createObjectReader(objectClass, defaultCreator, fieldReaders);
}
public static ObjectReader ofReflect(Class objectType) {
return ObjectReaderCreator.INSTANCE.createObjectReader(objectType);
}
public static ObjectReader of(Class objectType) {
return ObjectReaderCreatorLambda.INSTANCE.createObjectReader(objectType);
}
public static ObjectReader createObjectReader(
Function, T> creator,
FieldReader... fieldReaders) {
return ObjectReaderCreator.INSTANCE.createObjectReaderNoneDefaultConstructor(null, creator, fieldReaders);
}
public static ObjectReader createObjectReader(BiFunction function, FieldReader first, FieldReader second) {
throw new JSONException("TODO");
}
public static FieldReader fieldReader(String fieldName, Class fieldType) {
return ObjectReaderCreator.INSTANCE.createFieldReader(null, fieldName, fieldType, fieldType, (Method) null);
}
public static FieldReader fieldReaderBool(String fieldName, ObjBoolConsumer function) {
return new FieldReaderBoolValFunc<>(fieldName, 0, null, null, function);
}
public static FieldReader fieldReaderByte(String fieldName, ObjByteConsumer function) {
return new FieldReaderInt8ValueFunc<>(fieldName, 0, null, null, function);
}
public static FieldReader fieldReaderShort(String fieldName, ObjShortConsumer function) {
return new FieldReaderInt16ValueFunc<>(fieldName, 0, 0L, null, null, null, null, null, function);
}
public static FieldReader fieldReaderInt(String fieldName, ObjIntConsumer function) {
return new FieldReaderInt32ValueFunc<>(fieldName, 0, null, null, null, function);
}
public static FieldReader fieldReaderLong(String fieldName, ObjLongConsumer function) {
return new FieldReaderInt64ValueFunc<>(fieldName, 0, null, null, null, function);
}
public static FieldReader fieldReaderChar(String fieldName, ObjCharConsumer function) {
return new FieldReaderCharValueFunc<>(fieldName, 0, null, null, null, null, function);
}
public static FieldReader fieldReaderFloat(String fieldName, ObjFloatConsumer function) {
return new FieldReaderFloatValueFunc<>(fieldName, 0, null, null, null, function);
}
public static FieldReader fieldReaderDouble(String fieldName, ObjDoubleConsumer function) {
return new FieldReaderDoubleValueFunc<>(fieldName, 0, null, null, null, function);
}
public static FieldReader fieldReaderString(
String fieldName,
BiConsumer function
) {
return ObjectReaderCreator.INSTANCE.createFieldReader(fieldName, String.class, String.class, null, function);
}
public static FieldReader fieldReader(
String fieldName,
Class fieldClass,
BiConsumer function
) {
return ObjectReaderCreator.INSTANCE.createFieldReader(fieldName, fieldClass, fieldClass, null, function);
}
public static FieldReader fieldReader(
String fieldName,
Type fieldType,
BiConsumer consumer,
ObjectReader fieldObjectReader
) {
return new FieldReaderObjectFunc2<>(fieldObjectReader, consumer, fieldType, fieldName);
}
public static FieldReader fieldReaderList(
String fieldName,
Type itemType,
Supplier> listCreator,
BiConsumer> function,
ObjectReader itemObjectReader
) {
return new FieldReaderListFuncImpl<>(listCreator, itemObjectReader, function, itemType, fieldName);
}
public static FieldReader fieldReaderList(
String fieldName,
Type itemType,
Supplier> listCreator,
BiConsumer> function
) {
return new FieldReaderListFuncImpl<>(listCreator, null, function, itemType, fieldName);
}
}