public class PropertyAccessorCollector extends DynamicPropertyAccessorBase
Modifier and Type | Field and Description |
---|---|
private java.util.List<BooleanFieldPropertyWriter> |
_booleanFields |
private java.util.List<BooleanMethodPropertyWriter> |
_booleanGetters |
private java.util.List<IntFieldPropertyWriter> |
_intFields |
private java.util.List<IntMethodPropertyWriter> |
_intGetters |
private java.util.List<LongFieldPropertyWriter> |
_longFields |
private java.util.List<LongMethodPropertyWriter> |
_longGetters |
private java.util.List<ObjectFieldPropertyWriter> |
_objectFields |
private java.util.List<ObjectMethodPropertyWriter> |
_objectGetters |
private java.util.List<StringFieldPropertyWriter> |
_stringFields |
private java.util.List<StringMethodPropertyWriter> |
_stringGetters |
private java.lang.Class<?> |
beanClass |
private java.lang.String |
beanClassName |
private static org.objectweb.asm.Type |
OBJECT_TYPE |
private static org.objectweb.asm.Type |
STRING_TYPE |
_accessorCount, ALL_INT_CONSTS
Constructor and Description |
---|
PropertyAccessorCollector(java.lang.Class<?> beanClass) |
Modifier and Type | Method and Description |
---|---|
private <T extends OptimizedBeanPropertyWriter<T>> |
_addFields(org.objectweb.asm.ClassWriter cw,
java.util.List<T> props,
java.lang.String methodName,
org.objectweb.asm.Type returnType,
int returnOpcode) |
private <T extends OptimizedBeanPropertyWriter<T>> |
_addFieldsUsingIf(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int returnOpcode) |
private <T extends OptimizedBeanPropertyWriter<T>> |
_addFieldsUsingSwitch(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int returnOpcode) |
private <T extends OptimizedBeanPropertyWriter<T>> |
_addGetters(org.objectweb.asm.ClassWriter cw,
java.util.List<T> props,
java.lang.String methodName,
org.objectweb.asm.Type returnType,
int returnOpcode) |
private <T extends OptimizedBeanPropertyWriter<T>> |
_addGettersUsingIf(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int returnOpcode) |
private <T extends OptimizedBeanPropertyWriter<T>> |
_addGettersUsingSwitch(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int returnOpcode) |
private void |
_addSingleField(org.objectweb.asm.MethodVisitor mv,
OptimizedBeanPropertyWriter<?> prop,
int returnOpcode) |
private void |
_addSingleGetter(org.objectweb.asm.MethodVisitor mv,
OptimizedBeanPropertyWriter<?> prop,
int returnOpcode) |
BooleanFieldPropertyWriter |
addBooleanField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
BooleanMethodPropertyWriter |
addBooleanGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
IntFieldPropertyWriter |
addIntField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
IntMethodPropertyWriter |
addIntGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
LongFieldPropertyWriter |
addLongField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
LongMethodPropertyWriter |
addLongGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
ObjectFieldPropertyWriter |
addObjectField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
ObjectMethodPropertyWriter |
addObjectGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
StringFieldPropertyWriter |
addStringField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
StringMethodPropertyWriter |
addStringGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw) |
BeanPropertyAccessor |
findAccessor(MyClassLoader classLoader) |
java.lang.Class<?> |
generateAccessorClass(MyClassLoader classLoader,
ClassName baseName) |
_add, generateException, internalClassName, isEmpty, isInterfaceMethod
private static final org.objectweb.asm.Type STRING_TYPE
private static final org.objectweb.asm.Type OBJECT_TYPE
private final java.util.List<BooleanMethodPropertyWriter> _booleanGetters
private final java.util.List<IntMethodPropertyWriter> _intGetters
private final java.util.List<LongMethodPropertyWriter> _longGetters
private final java.util.List<StringMethodPropertyWriter> _stringGetters
private final java.util.List<ObjectMethodPropertyWriter> _objectGetters
private final java.util.List<BooleanFieldPropertyWriter> _booleanFields
private final java.util.List<IntFieldPropertyWriter> _intFields
private final java.util.List<LongFieldPropertyWriter> _longFields
private final java.util.List<StringFieldPropertyWriter> _stringFields
private final java.util.List<ObjectFieldPropertyWriter> _objectFields
private final java.lang.Class<?> beanClass
private final java.lang.String beanClassName
public PropertyAccessorCollector(java.lang.Class<?> beanClass)
public BooleanMethodPropertyWriter addBooleanGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public IntMethodPropertyWriter addIntGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public LongMethodPropertyWriter addLongGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public StringMethodPropertyWriter addStringGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public ObjectMethodPropertyWriter addObjectGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public BooleanFieldPropertyWriter addBooleanField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public IntFieldPropertyWriter addIntField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public LongFieldPropertyWriter addLongField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public StringFieldPropertyWriter addStringField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public ObjectFieldPropertyWriter addObjectField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
public BeanPropertyAccessor findAccessor(MyClassLoader classLoader)
public java.lang.Class<?> generateAccessorClass(MyClassLoader classLoader, ClassName baseName)
private <T extends OptimizedBeanPropertyWriter<T>> void _addGetters(org.objectweb.asm.ClassWriter cw, java.util.List<T> props, java.lang.String methodName, org.objectweb.asm.Type returnType, int returnOpcode)
private <T extends OptimizedBeanPropertyWriter<T>> void _addFields(org.objectweb.asm.ClassWriter cw, java.util.List<T> props, java.lang.String methodName, org.objectweb.asm.Type returnType, int returnOpcode)
private void _addSingleGetter(org.objectweb.asm.MethodVisitor mv, OptimizedBeanPropertyWriter<?> prop, int returnOpcode)
private <T extends OptimizedBeanPropertyWriter<T>> void _addGettersUsingIf(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
private <T extends OptimizedBeanPropertyWriter<T>> void _addGettersUsingSwitch(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
private void _addSingleField(org.objectweb.asm.MethodVisitor mv, OptimizedBeanPropertyWriter<?> prop, int returnOpcode)
private <T extends OptimizedBeanPropertyWriter<T>> void _addFieldsUsingIf(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
private <T extends OptimizedBeanPropertyWriter<T>> void _addFieldsUsingSwitch(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)