Class PropertyAccessorCollector
- java.lang.Object
-
- com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase
-
- com.fasterxml.jackson.module.afterburner.ser.PropertyAccessorCollector
-
public class PropertyAccessorCollector extends DynamicPropertyAccessorBase
Simple collector used to keep track of properties for which code-generated accessors are needed.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<BooleanFieldPropertyWriter>_booleanFieldsprivate java.util.List<BooleanMethodPropertyWriter>_booleanGettersprivate java.util.List<IntFieldPropertyWriter>_intFieldsprivate java.util.List<IntMethodPropertyWriter>_intGettersprivate java.util.List<LongFieldPropertyWriter>_longFieldsprivate java.util.List<LongMethodPropertyWriter>_longGettersprivate java.util.List<ObjectFieldPropertyWriter>_objectFieldsprivate java.util.List<ObjectMethodPropertyWriter>_objectGettersprivate java.util.List<StringFieldPropertyWriter>_stringFieldsprivate java.util.List<StringMethodPropertyWriter>_stringGettersprivate java.lang.Class<?>beanClassprivate java.lang.StringbeanClassNameprivate static org.objectweb.asm.TypeOBJECT_TYPEprivate static org.objectweb.asm.TypeSTRING_TYPE-
Fields inherited from class com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase
_accessorCount, ALL_INT_CONSTS
-
-
Constructor Summary
Constructors Constructor Description PropertyAccessorCollector(java.lang.Class<?> beanClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 <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)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_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 void_addSingleGetter(org.objectweb.asm.MethodVisitor mv, OptimizedBeanPropertyWriter<?> prop, int returnOpcode)BooleanFieldPropertyWriteraddBooleanField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)BooleanMethodPropertyWriteraddBooleanGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)IntFieldPropertyWriteraddIntField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)IntMethodPropertyWriteraddIntGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)LongFieldPropertyWriteraddLongField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)LongMethodPropertyWriteraddLongGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)ObjectFieldPropertyWriteraddObjectField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)ObjectMethodPropertyWriteraddObjectGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)StringFieldPropertyWriteraddStringField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)StringMethodPropertyWriteraddStringGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)BeanPropertyAccessorfindAccessor(MyClassLoader classLoader)java.lang.Class<?>generateAccessorClass(MyClassLoader classLoader, ClassName baseName)-
Methods inherited from class com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase
_add, generateException, internalClassName, isEmpty, isInterfaceMethod
-
-
-
-
Field Detail
-
STRING_TYPE
private static final org.objectweb.asm.Type STRING_TYPE
-
OBJECT_TYPE
private static final org.objectweb.asm.Type OBJECT_TYPE
-
_booleanGetters
private final java.util.List<BooleanMethodPropertyWriter> _booleanGetters
-
_intGetters
private final java.util.List<IntMethodPropertyWriter> _intGetters
-
_longGetters
private final java.util.List<LongMethodPropertyWriter> _longGetters
-
_stringGetters
private final java.util.List<StringMethodPropertyWriter> _stringGetters
-
_objectGetters
private final java.util.List<ObjectMethodPropertyWriter> _objectGetters
-
_booleanFields
private final java.util.List<BooleanFieldPropertyWriter> _booleanFields
-
_intFields
private final java.util.List<IntFieldPropertyWriter> _intFields
-
_longFields
private final java.util.List<LongFieldPropertyWriter> _longFields
-
_stringFields
private final java.util.List<StringFieldPropertyWriter> _stringFields
-
_objectFields
private final java.util.List<ObjectFieldPropertyWriter> _objectFields
-
beanClass
private final java.lang.Class<?> beanClass
-
beanClassName
private final java.lang.String beanClassName
-
-
Method Detail
-
addBooleanGetter
public BooleanMethodPropertyWriter addBooleanGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addIntGetter
public IntMethodPropertyWriter addIntGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addLongGetter
public LongMethodPropertyWriter addLongGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addStringGetter
public StringMethodPropertyWriter addStringGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addObjectGetter
public ObjectMethodPropertyWriter addObjectGetter(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addBooleanField
public BooleanFieldPropertyWriter addBooleanField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addIntField
public IntFieldPropertyWriter addIntField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addLongField
public LongFieldPropertyWriter addLongField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addStringField
public StringFieldPropertyWriter addStringField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
addObjectField
public ObjectFieldPropertyWriter addObjectField(com.fasterxml.jackson.databind.ser.BeanPropertyWriter bpw)
-
findAccessor
public BeanPropertyAccessor findAccessor(MyClassLoader classLoader)
-
generateAccessorClass
public java.lang.Class<?> generateAccessorClass(MyClassLoader classLoader, ClassName baseName)
-
_addGetters
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)
-
_addFields
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)
-
_addSingleGetter
private void _addSingleGetter(org.objectweb.asm.MethodVisitor mv, OptimizedBeanPropertyWriter<?> prop, int returnOpcode)
-
_addGettersUsingIf
private <T extends OptimizedBeanPropertyWriter<T>> void _addGettersUsingIf(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
-
_addGettersUsingSwitch
private <T extends OptimizedBeanPropertyWriter<T>> void _addGettersUsingSwitch(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
-
_addSingleField
private void _addSingleField(org.objectweb.asm.MethodVisitor mv, OptimizedBeanPropertyWriter<?> prop, int returnOpcode)
-
_addFieldsUsingIf
private <T extends OptimizedBeanPropertyWriter<T>> void _addFieldsUsingIf(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
-
_addFieldsUsingSwitch
private <T extends OptimizedBeanPropertyWriter<T>> void _addFieldsUsingSwitch(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int returnOpcode)
-
-