Package com.alibaba.fastjson2.writer
Class ObjectWriterCreator
- java.lang.Object
-
- com.alibaba.fastjson2.writer.ObjectWriterCreator
-
- Direct Known Subclasses:
ObjectWriterCreatorASM
public class ObjectWriterCreator extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static ObjectWriterCreatorINSTANCEprotected AtomicIntegerjitErrorCountprotected ThrowablejitErrorLast
-
Constructor Summary
Constructors Constructor Description ObjectWriterCreator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidconfigSerializeFilters(BeanInfo beanInfo, ObjectWriterAdapter writerAdapter)<T> FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, Class<T> objectType, String fieldName, int ordinal, long features, String format, String label, Method method, ObjectWriter initObjectWriter)<T,V>
FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, Class<T> objectClass, String fieldName, int ordinal, long features, String format, String label, Type fieldType, Class<V> fieldClass, Field field, Method method, Function<T,V> function)<T,V>
FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, Class<T> objectClass, String fieldName, int ordinal, long features, String format, String label, Type fieldType, Class<V> fieldClass, Method method, Function<T,V> function)<T> FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, Class<T> objectType, String fieldName, int ordinal, long features, String format, Locale locale, String label, Method method, ObjectWriter initObjectWriter)<T,V>
FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, Class<T> objectClass, String fieldName, int ordinal, long features, String format, Locale locale, String label, Type fieldType, Class<V> fieldClass, Field field, Method method, Function<T,V> function)<T> FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, String fieldName, int ordinal, long features, String format, String label, Field field, ObjectWriter initObjectWriter)<T> FieldWriter<T>createFieldWriter(ObjectWriterProvider provider, String fieldName, int ordinal, long features, String format, Locale locale, String label, Field field, ObjectWriter initObjectWriter)<T> FieldWriter<T>createFieldWriter(Class<T> objectType, String fieldName, int ordinal, long features, String format, Method method)<T> FieldWriter<T>createFieldWriter(Class<T> objectType, String fieldName, String dateFormat, Method method)<T> FieldWriter<T>createFieldWriter(String fieldName, int ordinal, long features, String format, Field field)<T> FieldWriter<T>createFieldWriter(String fieldName, int ordinal, long features, String format, String label, Field field, ObjectWriter initObjectWriter)<T,V>
FieldWritercreateFieldWriter(String fieldName, long features, String format, Class fieldClass, Function<T,V> function)<T> FieldWritercreateFieldWriter(String fieldName, ToByteFunction<T> function)<T> FieldWritercreateFieldWriter(String fieldName, ToCharFunction<T> function)<T> FieldWritercreateFieldWriter(String fieldName, ToFloatFunction<T> function)<T> FieldWritercreateFieldWriter(String fieldName, ToShortFunction<T> function)<T,V>
FieldWritercreateFieldWriter(String fieldName, Class fieldClass, Field field, Method method, Function<T,V> function)<T,V>
FieldWritercreateFieldWriter(String fieldName, Class fieldClass, Function<T,V> function)<T> FieldWritercreateFieldWriter(String fieldName, Field field, Method method, ToIntFunction<T> function)<T,V>
FieldWritercreateFieldWriter(String fieldName, Type fieldType, Class fieldClass, Function<T,V> function)<T> FieldWriter<T>createFieldWriter(String fieldName, String format, Field field)<T> FieldWritercreateFieldWriter(String fieldName, Predicate<T> function)<T> FieldWritercreateFieldWriter(String fieldName, ToDoubleFunction<T> function)<T> FieldWritercreateFieldWriter(String fieldName, ToIntFunction<T> function)<T> FieldWritercreateFieldWriter(String fieldName, ToLongFunction<T> function)ObjectWritercreateObjectWriter(FieldWriter... fieldWriters)ObjectWritercreateObjectWriter(Class objectType)ObjectWritercreateObjectWriter(Class objectClass, long features, FieldWriter... fieldWriters)ObjectWritercreateObjectWriter(Class objectClass, long features, ObjectWriterProvider provider)ObjectWritercreateObjectWriter(Class objectClass, long features, List<ObjectWriterModule> modules)ObjectWritercreateObjectWriter(Class objectType, FieldWriter... fieldWriters)<T> ObjectWriter<T>createObjectWriter(String[] names, Type[] types, FieldSupplier<T> supplier)ObjectWritercreateObjectWriter(List<FieldWriter> fieldWriters)protected FieldWritercreteFieldWriter(Class objectClass, long writerFeatures, ObjectWriterProvider provider, BeanInfo beanInfo, FieldInfo fieldInfo, Field field)protected static StringgetFieldName(Class objectClass, ObjectWriterProvider provider, BeanInfo beanInfo, boolean record, FieldInfo fieldInfo, Method method)protected ObjectWritergetInitWriter(ObjectWriterProvider provider, Class fieldClass)protected voidhandleIgnores(BeanInfo beanInfo, List<FieldWriter> fieldWriters)protected voidsetDefaultValue(List<FieldWriter> fieldWriters, Class objectClass)
-
-
-
Field Detail
-
INSTANCE
public static final ObjectWriterCreator INSTANCE
-
jitErrorCount
protected final AtomicInteger jitErrorCount
-
jitErrorLast
protected volatile Throwable jitErrorLast
-
-
Method Detail
-
createObjectWriter
public ObjectWriter createObjectWriter(List<FieldWriter> fieldWriters)
-
createObjectWriter
public ObjectWriter createObjectWriter(FieldWriter... fieldWriters)
-
createObjectWriter
public <T> ObjectWriter<T> createObjectWriter(String[] names, Type[] types, FieldSupplier<T> supplier)
-
createObjectWriter
public ObjectWriter createObjectWriter(Class objectType)
-
createObjectWriter
public ObjectWriter createObjectWriter(Class objectType, FieldWriter... fieldWriters)
-
createObjectWriter
public ObjectWriter createObjectWriter(Class objectClass, long features, FieldWriter... fieldWriters)
-
creteFieldWriter
protected FieldWriter creteFieldWriter(Class objectClass, long writerFeatures, ObjectWriterProvider provider, BeanInfo beanInfo, FieldInfo fieldInfo, Field field)
-
createObjectWriter
public ObjectWriter createObjectWriter(Class objectClass, long features, List<ObjectWriterModule> modules)
-
setDefaultValue
protected void setDefaultValue(List<FieldWriter> fieldWriters, Class objectClass)
-
createObjectWriter
public ObjectWriter createObjectWriter(Class objectClass, long features, ObjectWriterProvider provider)
-
getFieldName
protected static String getFieldName(Class objectClass, ObjectWriterProvider provider, BeanInfo beanInfo, boolean record, FieldInfo fieldInfo, Method method)
-
configSerializeFilters
protected static void configSerializeFilters(BeanInfo beanInfo, ObjectWriterAdapter writerAdapter)
-
handleIgnores
protected void handleIgnores(BeanInfo beanInfo, List<FieldWriter> fieldWriters)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(String fieldName, String format, Field field)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(String fieldName, int ordinal, long features, String format, Field field)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(String fieldName, int ordinal, long features, String format, String label, Field field, ObjectWriter initObjectWriter)
-
createFieldWriter
public final <T> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, String fieldName, int ordinal, long features, String format, String label, Field field, ObjectWriter initObjectWriter)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, String fieldName, int ordinal, long features, String format, Locale locale, String label, Field field, ObjectWriter initObjectWriter)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(Class<T> objectType, String fieldName, String dateFormat, Method method)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(Class<T> objectType, String fieldName, int ordinal, long features, String format, Method method)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, Class<T> objectType, String fieldName, int ordinal, long features, String format, String label, Method method, ObjectWriter initObjectWriter)
-
createFieldWriter
public <T> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, Class<T> objectType, String fieldName, int ordinal, long features, String format, Locale locale, String label, Method method, ObjectWriter initObjectWriter)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToLongFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToIntFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, Field field, Method method, ToIntFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToShortFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToByteFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToFloatFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToDoubleFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, ToCharFunction<T> function)
-
createFieldWriter
public <T> FieldWriter createFieldWriter(String fieldName, Predicate<T> function)
-
createFieldWriter
public <T,V> FieldWriter createFieldWriter(String fieldName, Class fieldClass, Function<T,V> function)
-
createFieldWriter
public <T,V> FieldWriter createFieldWriter(String fieldName, Class fieldClass, Field field, Method method, Function<T,V> function)
-
createFieldWriter
public <T,V> FieldWriter createFieldWriter(String fieldName, Type fieldType, Class fieldClass, Function<T,V> function)
-
createFieldWriter
public <T,V> FieldWriter createFieldWriter(String fieldName, long features, String format, Class fieldClass, Function<T,V> function)
-
createFieldWriter
public <T,V> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, Class<T> objectClass, String fieldName, int ordinal, long features, String format, String label, Type fieldType, Class<V> fieldClass, Method method, Function<T,V> function)
-
createFieldWriter
public <T,V> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, Class<T> objectClass, String fieldName, int ordinal, long features, String format, String label, Type fieldType, Class<V> fieldClass, Field field, Method method, Function<T,V> function)
-
createFieldWriter
public <T,V> FieldWriter<T> createFieldWriter(ObjectWriterProvider provider, Class<T> objectClass, String fieldName, int ordinal, long features, String format, Locale locale, String label, Type fieldType, Class<V> fieldClass, Field field, Method method, Function<T,V> function)
-
getInitWriter
protected ObjectWriter getInitWriter(ObjectWriterProvider provider, Class fieldClass)
-
-