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>
_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
-
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)
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)
-
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)
-
-