public abstract class FieldWriter<T>
extends java.lang.Object
implements java.lang.Comparable
| Modifier and Type | Field and Description |
|---|---|
(package private) boolean |
backReference |
java.text.DecimalFormat |
decimalFormat |
(package private) java.lang.Object |
defaultValue |
long |
features |
java.lang.reflect.Field |
field |
java.lang.Class |
fieldClass |
(package private) boolean |
fieldClassSerializable |
java.lang.String |
fieldName |
protected long |
fieldOffset |
java.lang.reflect.Type |
fieldType |
java.lang.String |
format |
protected java.util.function.Function |
function |
(package private) long |
hashCode |
(package private) ObjectWriter |
initObjectWriter |
(package private) static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<FieldWriter,ObjectWriter> |
initObjectWriterUpdater |
java.lang.String |
label |
java.util.Locale |
locale |
(package private) boolean |
managedReference |
java.lang.reflect.Method |
method |
(package private) byte[] |
nameJSONB |
(package private) long |
nameSymbolCache |
(package private) char[] |
nameWithColonUTF16 |
(package private) byte[] |
nameWithColonUTF8 |
int |
ordinal |
(package private) JSONWriter.Path |
path |
protected boolean |
primitive |
protected PropertyAccessor |
propertyAccessor |
(package private) boolean |
raw |
(package private) JSONWriter.Path |
rootParentPath |
(package private) boolean |
symbol |
(package private) boolean |
trim |
| Constructor and Description |
|---|
FieldWriter(java.lang.String name,
int ordinal,
long features,
java.lang.String format,
java.util.Locale locale,
java.lang.String label,
java.lang.reflect.Type fieldType,
java.lang.Class fieldClass,
java.lang.reflect.Field field,
java.lang.reflect.Method method) |
FieldWriter(java.lang.String name,
int ordinal,
long features,
java.lang.String format,
java.util.Locale locale,
java.lang.String label,
java.lang.reflect.Type fieldType,
java.lang.Class fieldClass,
java.lang.reflect.Field field,
java.lang.reflect.Method method,
java.lang.Object function) |
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(java.lang.Object o) |
private static PropertyAccessor |
createPropertyAccessor(java.lang.String name,
java.lang.reflect.Type fieldType,
java.lang.Class fieldClass,
java.lang.reflect.Field field,
java.lang.reflect.Method method,
java.lang.Object function) |
protected JSONException |
errorOnGet(java.lang.Throwable e) |
java.lang.Object |
getFieldValue(T object) |
java.util.function.Function |
getFunction() |
ObjectWriter |
getInitWriter() |
java.lang.Class |
getItemClass() |
java.lang.reflect.Type |
getItemType() |
ObjectWriter |
getItemWriter(JSONWriter writer,
java.lang.reflect.Type itemType) |
ObjectWriter |
getObjectWriter(JSONWriter jsonWriter,
java.lang.Class valueClass) |
(package private) static ObjectWriter |
getObjectWriter(java.lang.reflect.Type fieldType,
java.lang.Class fieldClass,
java.lang.String format,
java.util.Locale locale,
java.lang.Class valueClass) |
JSONWriter.Path |
getPath(JSONWriter.Path parent) |
JSONWriter.Path |
getRootParentPath() |
boolean |
isDateFormatISO8601() |
boolean |
isDateFormatMillis() |
boolean |
isFieldClassSerializable() |
boolean |
isRefDetect(java.lang.Object object,
long features) |
(package private) void |
setDefaultValue(T object) |
java.lang.String |
toString() |
boolean |
unwrapped() |
abstract boolean |
write(JSONWriter jsonWriter,
T o) |
void |
writeBinary(JSONWriter jsonWriter,
byte[] value) |
void |
writeBool(JSONWriter jsonWriter,
boolean value) |
void |
writeBool(JSONWriter jsonWriter,
boolean[] value) |
void |
writeDate(JSONWriter jsonWriter,
boolean writeFieldName,
java.util.Date value) |
void |
writeDate(JSONWriter jsonWriter,
boolean writeFieldName,
long millis) |
void |
writeDate(JSONWriter jsonWriter,
long millis) |
void |
writeDouble(JSONWriter jsonWriter,
double value) |
void |
writeDouble(JSONWriter jsonWriter,
java.lang.Double value) |
void |
writeDouble(JSONWriter jsonWriter,
double[] value) |
void |
writeEnum(JSONWriter jsonWriter,
java.lang.Enum e) |
void |
writeEnumJSONB(JSONWriter jsonWriter,
java.lang.Enum e) |
int |
writeEnumValueJSONB(byte[] bytes,
int off,
java.lang.Enum e,
SymbolTable symbolTable,
long features) |
void |
writeFieldName(JSONWriter jsonWriter) |
int |
writeFieldNameJSONB(byte[] bytes,
int off) |
int |
writeFieldNameJSONB(byte[] bytes,
int off,
JSONWriter jsonWriter) |
void |
writeFieldNameJSONB(JSONWriter jsonWriter) |
private boolean |
writeFieldNameSymbol(JSONWriter jsonWriter,
SymbolTable symbolTable) |
int |
writeFieldNameSymbol(SymbolTable symbolTable) |
void |
writeFloat(JSONWriter jsonWriter,
float value) |
void |
writeFloat(JSONWriter jsonWriter,
float[] value) |
protected boolean |
writeFloatNull(JSONWriter jsonWriter) |
void |
writeInt16(JSONWriter jsonWriter,
short[] value) |
void |
writeInt32(JSONWriter jsonWriter,
int value) |
void |
writeInt64(JSONWriter jsonWriter,
long value) |
protected boolean |
writeIntNull(JSONWriter jsonWriter) |
void |
writeList(JSONWriter jsonWriter,
java.util.List list) |
void |
writeListJSONB(JSONWriter jsonWriter,
java.util.List list) |
void |
writeListStr(JSONWriter jsonWriter,
boolean writeFieldName,
java.util.List<java.lang.String> list) |
void |
writeListValue(JSONWriter jsonWriter,
java.util.List list) |
void |
writeListValueJSONB(JSONWriter jsonWriter,
java.util.List list) |
void |
writeString(JSONWriter jsonWriter,
char[] value) |
void |
writeString(JSONWriter jsonWriter,
java.lang.String value) |
abstract void |
writeValue(JSONWriter jsonWriter,
T object) |
protected final PropertyAccessor propertyAccessor
public final java.lang.String fieldName
public final java.lang.reflect.Type fieldType
public final java.lang.Class fieldClass
public final long features
public final int ordinal
public final java.lang.String format
public final java.util.Locale locale
public final java.text.DecimalFormat decimalFormat
public final java.lang.String label
public final java.lang.reflect.Field field
public final java.lang.reflect.Method method
protected java.util.function.Function function
protected final long fieldOffset
protected final boolean primitive
final long hashCode
final byte[] nameWithColonUTF8
final char[] nameWithColonUTF16
final byte[] nameJSONB
long nameSymbolCache
final boolean fieldClassSerializable
final JSONWriter.Path rootParentPath
final boolean symbol
final boolean trim
final boolean raw
final boolean managedReference
final boolean backReference
transient JSONWriter.Path path
volatile ObjectWriter initObjectWriter
java.lang.Object defaultValue
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<FieldWriter,ObjectWriter> initObjectWriterUpdater
FieldWriter(java.lang.String name,
int ordinal,
long features,
java.lang.String format,
java.util.Locale locale,
java.lang.String label,
java.lang.reflect.Type fieldType,
java.lang.Class fieldClass,
java.lang.reflect.Field field,
java.lang.reflect.Method method)
FieldWriter(java.lang.String name,
int ordinal,
long features,
java.lang.String format,
java.util.Locale locale,
java.lang.String label,
java.lang.reflect.Type fieldType,
java.lang.Class fieldClass,
java.lang.reflect.Field field,
java.lang.reflect.Method method,
java.lang.Object function)
private static PropertyAccessor createPropertyAccessor(java.lang.String name, java.lang.reflect.Type fieldType, java.lang.Class fieldClass, java.lang.reflect.Field field, java.lang.reflect.Method method, java.lang.Object function)
public boolean isFieldClassSerializable()
public boolean isDateFormatMillis()
public boolean isDateFormatISO8601()
public int writeEnumValueJSONB(byte[] bytes,
int off,
java.lang.Enum e,
SymbolTable symbolTable,
long features)
public void writeEnumJSONB(JSONWriter jsonWriter, java.lang.Enum e)
public ObjectWriter getInitWriter()
public boolean unwrapped()
public final void writeFieldNameJSONB(JSONWriter jsonWriter)
public final int writeFieldNameJSONB(byte[] bytes,
int off)
public final int writeFieldNameJSONB(byte[] bytes,
int off,
JSONWriter jsonWriter)
public final void writeFieldName(JSONWriter jsonWriter)
private boolean writeFieldNameSymbol(JSONWriter jsonWriter, SymbolTable symbolTable)
public int writeFieldNameSymbol(SymbolTable symbolTable)
public boolean isRefDetect(java.lang.Object object,
long features)
public final JSONWriter.Path getRootParentPath()
public final JSONWriter.Path getPath(JSONWriter.Path parent)
public java.lang.reflect.Type getItemType()
public java.lang.Class getItemClass()
public java.lang.String toString()
toString in class java.lang.Objectvoid setDefaultValue(T object)
protected JSONException errorOnGet(java.lang.Throwable e)
public java.lang.Object getFieldValue(T object)
public int compareTo(java.lang.Object o)
compareTo in interface java.lang.Comparablepublic void writeEnum(JSONWriter jsonWriter, java.lang.Enum e)
public void writeBinary(JSONWriter jsonWriter, byte[] value)
public void writeInt16(JSONWriter jsonWriter, short[] value)
public void writeInt32(JSONWriter jsonWriter, int value)
public void writeInt64(JSONWriter jsonWriter, long value)
public void writeString(JSONWriter jsonWriter, java.lang.String value)
public void writeString(JSONWriter jsonWriter, char[] value)
public void writeFloat(JSONWriter jsonWriter, float value)
public void writeDouble(JSONWriter jsonWriter, double value)
public void writeBool(JSONWriter jsonWriter, boolean value)
public void writeBool(JSONWriter jsonWriter, boolean[] value)
public void writeFloat(JSONWriter jsonWriter, float[] value)
public void writeDouble(JSONWriter jsonWriter, double[] value)
public void writeDouble(JSONWriter jsonWriter, java.lang.Double value)
public void writeDate(JSONWriter jsonWriter, boolean writeFieldName, java.util.Date value)
public void writeDate(JSONWriter jsonWriter, long millis)
public void writeDate(JSONWriter jsonWriter, boolean writeFieldName, long millis)
public ObjectWriter getItemWriter(JSONWriter writer, java.lang.reflect.Type itemType)
public abstract void writeValue(JSONWriter jsonWriter, T object)
public abstract boolean write(JSONWriter jsonWriter, T o)
public ObjectWriter getObjectWriter(JSONWriter jsonWriter, java.lang.Class valueClass)
public void writeListValueJSONB(JSONWriter jsonWriter, java.util.List list)
public void writeListValue(JSONWriter jsonWriter, java.util.List list)
public void writeListJSONB(JSONWriter jsonWriter, java.util.List list)
public void writeList(JSONWriter jsonWriter, java.util.List list)
public void writeListStr(JSONWriter jsonWriter, boolean writeFieldName, java.util.List<java.lang.String> list)
static ObjectWriter getObjectWriter(java.lang.reflect.Type fieldType, java.lang.Class fieldClass, java.lang.String format, java.util.Locale locale, java.lang.Class valueClass)
public java.util.function.Function getFunction()
protected final boolean writeFloatNull(JSONWriter jsonWriter)
protected final boolean writeIntNull(JSONWriter jsonWriter)