Package com.alibaba.fastjson2.reader
Class ObjectReaderCreator
- java.lang.Object
-
- com.alibaba.fastjson2.reader.ObjectReaderCreator
-
- Direct Known Subclasses:
ObjectReaderCreatorASM
public class ObjectReaderCreator extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static ObjectReaderCreatorINSTANCEstatic booleanJITprotected AtomicIntegerjitErrorCountprotected ThrowablejitErrorLastprotected static Map<Class,com.alibaba.fastjson2.reader.ObjectReaderCreator.LambdaSetterInfo>methodTypeMapping
-
Constructor Summary
Constructors Constructor Description ObjectReaderCreator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T,R>
Function<T,R>createBuildFunction(Method builderMethod)Function<Consumer,ByteArrayValueConsumer>createByteArrayValueConsumerCreator(Class objectClass, FieldReader[] fieldReaderArray)Function<Consumer,CharArrayValueConsumer>createCharArrayValueConsumerCreator(Class objectClass, FieldReader[] fieldReaderArray)protected ObjectReadercreateEnumReader(Class objectClass, Method createMethod, ObjectReaderProvider provider)<T> Function<Map<Long,Object>,T>createFactoryFunction(Method factoryMethod, String... paramNames)<T> FieldReadercreateFieldReader(Class<T> objectType, String fieldName, Type fieldType, Class fieldClass, Method method)<T> FieldReadercreateFieldReader(Class<T> objectType, String fieldName, String format, Type fieldType, Class fieldClass, Method method)<T> FieldReader<T>createFieldReader(Class objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Field field, ObjectReader initReader)<T> FieldReader<T>createFieldReader(Class objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Field field, ObjectReader initReader, String keyName, BiConsumer arrayToMapDuplicateHandler)<T> FieldReader<T>createFieldReader(Class objectClass, Type objectType, String fieldName, long features, String format, Type fieldType, Class fieldClass, Field field)<T,V>
FieldReadercreateFieldReader(Class objectClass, Type objectType, String fieldName, Type fieldType, Class<V> fieldClass, int ordinal, long features, String format, Locale locale, Object defaultValue, JSONSchema schema, Method method, BiConsumer<T,V> function, ObjectReader initReader)protected voidcreateFieldReader(Class objectClass, Type objectType, String namingStrategy, String[] orders, BeanInfo beanInfo, FieldInfo fieldInfo, Method method, Map<String,List<FieldReader>> fieldReaders, ObjectReaderProvider provider)protected voidcreateFieldReader(Class objectClass, Type objectType, String namingStrategy, String[] orders, FieldInfo fieldInfo, Field field, Map<String,List<FieldReader>> fieldReaders, ObjectReaderProvider provider)<T> FieldReader<T>createFieldReader(String fieldName, Field field)<T> FieldReadercreateFieldReader(String fieldName, Method method)<T,V>
FieldReadercreateFieldReader(String fieldName, Type fieldType, Class<V> fieldClass, long features, BiConsumer<T,V> function)<T,V>
FieldReadercreateFieldReader(String fieldName, Type fieldType, Class<V> fieldClass, Method method, BiConsumer<T,V> function)<T> FieldReader<T>createFieldReader(String fieldName, Type fieldType, Field field)<T> FieldReader<T>createFieldReader(String fieldName, String format, Type fieldType, Field field)protected <T> FieldReadercreateFieldReaderLambda(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Method method, ObjectReader initReader)<T> FieldReadercreateFieldReaderMethod(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Method method, ObjectReader initReader)<T> FieldReadercreateFieldReaderMethod(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Method method, ObjectReader initReader, String keyName, BiConsumer arrayToMapDuplicateHandler)<T> FieldReadercreateFieldReaderMethod(Class<T> objectClass, String fieldName, String format, Type fieldType, Class fieldClass, Method method)<T> FieldReadercreateFieldReaderParam(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Type fieldType, Class fieldClass, String paramName, Class declaringClass, Parameter parameter, JSONSchema schema)<T> FieldReadercreateFieldReaderParam(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Type fieldType, Class fieldClass, String paramName, Class declaringClass, Parameter parameter, JSONSchema schema, ObjectReader initReader)<T> FieldReadercreateFieldReaderParam(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, Type fieldType, Class fieldClass, String paramName, Class declaringClass, Parameter parameter, JSONSchema schema, ObjectReader initReader)FieldReader[]createFieldReaders(ObjectReaderProvider provider, Class objectClass, Type objectType, Executable owner, Parameter[] parameters, String... paramNames)<T> FieldReader[]createFieldReaders(Class<T> objectClass)<T> FieldReader[]createFieldReaders(Class<T> objectClass, Type objectType)protected <T> FieldReader[]createFieldReaders(Class<T> objectClass, Type objectType, BeanInfo beanInfo, boolean fieldBased, ObjectReaderProvider provider)<T> Function<Map<Long,Object>,T>createFunction(Constructor constructor, Constructor markerConstructor, String... paramNames)<T> Function<Map<Long,Object>,T>createFunction(Constructor constructor, String... paramNames)protected <T> IntFunction<T>createIntFunction(Constructor constructor)protected <T> IntFunction<T>createIntFunction(Method factoryMethod)<T> ObjectReader<T>createObjectReader(Class<T> objectType)<T> ObjectReader<T>createObjectReader(Class<T> objectType, boolean fieldBased)<T> ObjectReader<T>createObjectReader(Class<T> objectClass, long features, Supplier<T> defaultCreator, Function buildFunction, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReader(Class<T> objectClass, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReader(Class<T> objectClass, Type objectType, boolean fieldBased, ObjectReaderProvider provider)<T> ObjectReader<T>createObjectReader(Class<T> objectClass, String typeKey, long features, JSONSchema schema, Supplier<T> defaultCreator, Function buildFunction, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReader(Class<T> objectClass, String typeKey, String rootName, long features, JSONSchema schema, Supplier<T> defaultCreator, Function buildFunction, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReader(Class<T> objectClass, Supplier<T> defaultCreator, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReader(Type objectType)<T> ObjectReader<T>createObjectReaderFactoryMethod(Method factoryMethod, String... paramNames)<T> ObjectReader<T>createObjectReaderNoneDefaultConstructor(Class objectClass, Function<Map<Long,Object>,T> creator, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReaderNoneDefaultConstructor(Constructor constructor, String... paramNames)<T> ObjectReader<T>createObjectReaderSeeAlso(Class<T> objectType, Class[] seeAlso, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReaderSeeAlso(Class<T> objectClass, String typeKey, Class[] seeAlso, String[] seeAlsoNames, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReaderSeeAlso(Class<T> objectClass, String typeKey, Class[] seeAlso, String[] seeAlsoNames, Class seeAlsoDefault, FieldReader... fieldReaders)<T> ObjectReader<T>createObjectReaderSeeAlso(Class<T> objectType, Supplier<T> defaultCreator, String typeKey, Class[] seeAlso, String[] seeAlsoNames, FieldReader... fieldReaders)protected <T> ObjectReader<T>createObjectReaderWithBuilder(Class<T> objectClass, Type objectType, ObjectReaderProvider provider, BeanInfo beanInfo)protected <T> ObjectReader<T>createObjectReaderWithCreator(Class<T> objectClass, Type objectType, ObjectReaderProvider provider, BeanInfo beanInfo)protected <T> Function<String,T>createStringFunction(Constructor constructor)protected <T> Function<String,T>createStringFunction(Method factoryMethod)<T> Supplier<T>createSupplier(Class<T> objectClass)<T> Supplier<T>createSupplier(Constructor constructor, boolean jit)protected <I,T>
Function<I,T>createValueFunction(Constructor<T> constructor, Class<I> valueClass)protected <I,T>
Function<I,T>createValueFunction(Method factoryMethod, Class valueClass)protected ObjectlambdaSetter(Class objectClass, Class fieldClass, Method method)
-
-
-
Field Detail
-
JIT
public static final boolean JIT
-
INSTANCE
public static final ObjectReaderCreator INSTANCE
-
jitErrorCount
protected final AtomicInteger jitErrorCount
-
jitErrorLast
protected volatile Throwable jitErrorLast
-
-
Method Detail
-
createObjectReaderNoneDefaultConstructor
public <T> ObjectReader<T> createObjectReaderNoneDefaultConstructor(Constructor constructor, String... paramNames)
-
createObjectReaderNoneDefaultConstructor
public <T> ObjectReader<T> createObjectReaderNoneDefaultConstructor(Class objectClass, Function<Map<Long,Object>,T> creator, FieldReader... fieldReaders)
-
createObjectReaderFactoryMethod
public <T> ObjectReader<T> createObjectReaderFactoryMethod(Method factoryMethod, String... paramNames)
-
createFieldReaders
public FieldReader[] createFieldReaders(ObjectReaderProvider provider, Class objectClass, Type objectType, Executable owner, Parameter[] parameters, String... paramNames)
-
createFactoryFunction
public <T> Function<Map<Long,Object>,T> createFactoryFunction(Method factoryMethod, String... paramNames)
-
createFunction
public <T> Function<Map<Long,Object>,T> createFunction(Constructor constructor, String... paramNames)
-
createFunction
public <T> Function<Map<Long,Object>,T> createFunction(Constructor constructor, Constructor markerConstructor, String... paramNames)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectClass, FieldReader... fieldReaders)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectClass, Supplier<T> defaultCreator, FieldReader... fieldReaders)
-
createObjectReaderSeeAlso
public <T> ObjectReader<T> createObjectReaderSeeAlso(Class<T> objectType, Class[] seeAlso, FieldReader... fieldReaders)
-
createObjectReaderSeeAlso
public <T> ObjectReader<T> createObjectReaderSeeAlso(Class<T> objectClass, String typeKey, Class[] seeAlso, String[] seeAlsoNames, FieldReader... fieldReaders)
-
createObjectReaderSeeAlso
public <T> ObjectReader<T> createObjectReaderSeeAlso(Class<T> objectClass, String typeKey, Class[] seeAlso, String[] seeAlsoNames, Class seeAlsoDefault, FieldReader... fieldReaders)
- Since:
- 2.0.24
-
createObjectReaderSeeAlso
public <T> ObjectReader<T> createObjectReaderSeeAlso(Class<T> objectType, Supplier<T> defaultCreator, String typeKey, Class[] seeAlso, String[] seeAlsoNames, FieldReader... fieldReaders)
-
createObjectReaderWithBuilder
protected <T> ObjectReader<T> createObjectReaderWithBuilder(Class<T> objectClass, Type objectType, ObjectReaderProvider provider, BeanInfo beanInfo)
-
createObjectReaderWithCreator
protected <T> ObjectReader<T> createObjectReaderWithCreator(Class<T> objectClass, Type objectType, ObjectReaderProvider provider, BeanInfo beanInfo)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectClass, long features, Supplier<T> defaultCreator, Function buildFunction, FieldReader... fieldReaders)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectClass, String typeKey, long features, JSONSchema schema, Supplier<T> defaultCreator, Function buildFunction, FieldReader... fieldReaders)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectClass, String typeKey, String rootName, long features, JSONSchema schema, Supplier<T> defaultCreator, Function buildFunction, FieldReader... fieldReaders)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Type objectType)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectType)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectType, boolean fieldBased)
-
createObjectReader
public <T> ObjectReader<T> createObjectReader(Class<T> objectClass, Type objectType, boolean fieldBased, ObjectReaderProvider provider)
-
createFieldReaders
public <T> FieldReader[] createFieldReaders(Class<T> objectClass)
-
createFieldReaders
public <T> FieldReader[] createFieldReaders(Class<T> objectClass, Type objectType)
-
createFieldReader
protected void createFieldReader(Class objectClass, Type objectType, String namingStrategy, String[] orders, FieldInfo fieldInfo, Field field, Map<String,List<FieldReader>> fieldReaders, ObjectReaderProvider provider)
-
createFieldReader
protected void createFieldReader(Class objectClass, Type objectType, String namingStrategy, String[] orders, BeanInfo beanInfo, FieldInfo fieldInfo, Method method, Map<String,List<FieldReader>> fieldReaders, ObjectReaderProvider provider)
-
createFieldReaders
protected <T> FieldReader[] createFieldReaders(Class<T> objectClass, Type objectType, BeanInfo beanInfo, boolean fieldBased, ObjectReaderProvider provider)
-
createSupplier
public <T> Supplier<T> createSupplier(Constructor constructor, boolean jit)
-
createIntFunction
protected <T> IntFunction<T> createIntFunction(Constructor constructor)
-
createIntFunction
protected <T> IntFunction<T> createIntFunction(Method factoryMethod)
-
createStringFunction
protected <T> Function<String,T> createStringFunction(Constructor constructor)
-
createValueFunction
protected <I,T> Function<I,T> createValueFunction(Constructor<T> constructor, Class<I> valueClass)
-
createValueFunction
protected <I,T> Function<I,T> createValueFunction(Method factoryMethod, Class valueClass)
-
createFieldReader
public <T> FieldReader createFieldReader(Class<T> objectType, String fieldName, Type fieldType, Class fieldClass, Method method)
-
createFieldReader
public <T> FieldReader createFieldReader(Class<T> objectType, String fieldName, String format, Type fieldType, Class fieldClass, Method method)
-
createFieldReaderMethod
public <T> FieldReader createFieldReaderMethod(Class<T> objectClass, String fieldName, String format, Type fieldType, Class fieldClass, Method method)
-
createFieldReaderParam
public <T> FieldReader createFieldReaderParam(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Type fieldType, Class fieldClass, String paramName, Class declaringClass, Parameter parameter, JSONSchema schema)
-
createFieldReaderParam
public <T> FieldReader createFieldReaderParam(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Type fieldType, Class fieldClass, String paramName, Class declaringClass, Parameter parameter, JSONSchema schema, ObjectReader initReader)
-
createFieldReaderParam
public <T> FieldReader createFieldReaderParam(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, Type fieldType, Class fieldClass, String paramName, Class declaringClass, Parameter parameter, JSONSchema schema, ObjectReader initReader)
-
createFieldReaderMethod
public <T> FieldReader createFieldReaderMethod(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Method method, ObjectReader initReader)
-
createFieldReaderMethod
public <T> FieldReader createFieldReaderMethod(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Method method, ObjectReader initReader, String keyName, BiConsumer arrayToMapDuplicateHandler)
-
createFieldReader
public <T> FieldReader<T> createFieldReader(String fieldName, Type fieldType, Field field)
-
createFieldReader
public <T> FieldReader<T> createFieldReader(String fieldName, Field field)
-
createFieldReader
public <T> FieldReader createFieldReader(String fieldName, Method method)
-
createFieldReader
public <T> FieldReader<T> createFieldReader(String fieldName, String format, Type fieldType, Field field)
-
createFieldReader
public <T> FieldReader<T> createFieldReader(Class objectClass, Type objectType, String fieldName, long features, String format, Type fieldType, Class fieldClass, Field field)
-
createFieldReader
public <T> FieldReader<T> createFieldReader(Class objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Field field, ObjectReader initReader)
-
createFieldReader
public <T> FieldReader<T> createFieldReader(Class objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Field field, ObjectReader initReader, String keyName, BiConsumer arrayToMapDuplicateHandler)
-
createFieldReader
public <T,V> FieldReader createFieldReader(String fieldName, Type fieldType, Class<V> fieldClass, long features, BiConsumer<T,V> function)
-
createFieldReader
public <T,V> FieldReader createFieldReader(String fieldName, Type fieldType, Class<V> fieldClass, Method method, BiConsumer<T,V> function)
-
createFieldReader
public <T,V> FieldReader createFieldReader(Class objectClass, Type objectType, String fieldName, Type fieldType, Class<V> fieldClass, int ordinal, long features, String format, Locale locale, Object defaultValue, JSONSchema schema, Method method, BiConsumer<T,V> function, ObjectReader initReader)
-
createEnumReader
protected ObjectReader createEnumReader(Class objectClass, Method createMethod, ObjectReaderProvider provider)
-
createFieldReaderLambda
protected <T> FieldReader createFieldReaderLambda(Class<T> objectClass, Type objectType, String fieldName, int ordinal, long features, String format, Locale locale, Object defaultValue, String schema, Type fieldType, Class fieldClass, Method method, ObjectReader initReader)
-
createByteArrayValueConsumerCreator
public Function<Consumer,ByteArrayValueConsumer> createByteArrayValueConsumerCreator(Class objectClass, FieldReader[] fieldReaderArray)
-
createCharArrayValueConsumerCreator
public Function<Consumer,CharArrayValueConsumer> createCharArrayValueConsumerCreator(Class objectClass, FieldReader[] fieldReaderArray)
-
-