Top Description Fields Constructors Methods
com.fasterxml.jackson.module.afterburner.deser

public Class PropertyMutatorCollector

extends DynamicPropertyAccessorBase
Class Inheritance
Imports
java.lang.reflect.Method, java.util.*, org.objectweb.asm.*, com.fasterxml.jackson.databind.deser.SettableBeanProperty, com.fasterxml.jackson.databind.introspect.AnnotatedField, com.fasterxml.jackson.module.afterburner.util.ClassName, .DynamicPropertyAccessorBase, .MyClassLoader

Simple collector used to keep track of properties for which code-generated mutators are needed.

Field Summary

Modifier and TypeField and Description
private final List<SettableBooleanFieldProperty>
private final List<SettableBooleanMethodProperty>
private final List<SettableIntFieldProperty>
private final List<SettableIntMethodProperty>
private final List<SettableLongFieldProperty>
private final List<SettableLongMethodProperty>
private final List<SettableObjectFieldProperty>
private final List<SettableObjectMethodProperty>
private final List<SettableStringFieldProperty>
private final List<SettableStringMethodProperty>
private final Class<?>
private final String
private static final Type
private static final Type
Inherited from com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase:
_accessorCountALL_INT_CONSTS

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private <T extends OptimizedSettableBeanProperty<T>> void
_addFields(ClassWriter cw, List<T> props, String methodName, Type parameterType, int loadValueCode)

private <T extends OptimizedSettableBeanProperty<T>> void
_addFieldsUsingIf(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)

private <T extends OptimizedSettableBeanProperty<T>> void
_addFieldsUsingSwitch(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)

private <T extends OptimizedSettableBeanProperty<T>> void
_addSetters(ClassWriter cw, List<T> props, String methodName, Type parameterType, int loadValueCode)

private <T extends OptimizedSettableBeanProperty<T>> void
_addSettersUsingIf(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)

private <T extends OptimizedSettableBeanProperty<T>> void
_addSettersUsingSwitch(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)

private void
_addSingleField(MethodVisitor mv, OptimizedSettableBeanProperty<?> prop, int loadValueCode, int beanIndex, boolean mustCast)

private void
_addSingleSetter(MethodVisitor mv, OptimizedSettableBeanProperty<?> prop, int loadValueCode, int beanIndex, boolean mustCast)

public SettableBooleanFieldProperty
public SettableBooleanMethodProperty
public SettableIntFieldProperty
public SettableIntMethodProperty
public SettableLongFieldProperty
public SettableLongMethodProperty
public SettableObjectFieldProperty
public SettableObjectMethodProperty
public SettableStringFieldProperty
public SettableStringMethodProperty
public BeanPropertyMutator
buildMutator(MyClassLoader classLoader)

Method for building generic mutator class for specified bean type.

public Class<?>
Inherited from com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase:
_addgenerateExceptioninternalClassNameisEmptyisInterfaceMethod

Field Detail

_booleanFieldsback to summary
private final List<SettableBooleanFieldProperty> _booleanFields
_booleanSettersback to summary
private final List<SettableBooleanMethodProperty> _booleanSetters
_intFieldsback to summary
private final List<SettableIntFieldProperty> _intFields
_intSettersback to summary
private final List<SettableIntMethodProperty> _intSetters
_longFieldsback to summary
private final List<SettableLongFieldProperty> _longFields
_longSettersback to summary
private final List<SettableLongMethodProperty> _longSetters
_objectFieldsback to summary
private final List<SettableObjectFieldProperty> _objectFields
_objectSettersback to summary
private final List<SettableObjectMethodProperty> _objectSetters
_stringFieldsback to summary
private final List<SettableStringFieldProperty> _stringFields
_stringSettersback to summary
private final List<SettableStringMethodProperty> _stringSetters
beanClassback to summary
private final Class<?> beanClass
beanClassNameback to summary
private final String beanClassName
OBJECT_TYPEback to summary
private static final Type OBJECT_TYPE
STRING_TYPEback to summary
private static final Type STRING_TYPE

Constructor Detail

PropertyMutatorCollectorback to summary
public PropertyMutatorCollector(Class<?> beanClass)

Method Detail

_addFieldsback to summary
private <T extends OptimizedSettableBeanProperty<T>> void _addFields(ClassWriter cw, List<T> props, String methodName, Type parameterType, int loadValueCode)
_addFieldsUsingIfback to summary
private <T extends OptimizedSettableBeanProperty<T>> void _addFieldsUsingIf(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
_addFieldsUsingSwitchback to summary
private <T extends OptimizedSettableBeanProperty<T>> void _addFieldsUsingSwitch(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
_addSettersback to summary
private <T extends OptimizedSettableBeanProperty<T>> void _addSetters(ClassWriter cw, List<T> props, String methodName, Type parameterType, int loadValueCode)
_addSettersUsingIfback to summary
private <T extends OptimizedSettableBeanProperty<T>> void _addSettersUsingIf(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
_addSettersUsingSwitchback to summary
private <T extends OptimizedSettableBeanProperty<T>> void _addSettersUsingSwitch(MethodVisitor mv, List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
_addSingleFieldback to summary
private void _addSingleField(MethodVisitor mv, OptimizedSettableBeanProperty<?> prop, int loadValueCode, int beanIndex, boolean mustCast)
_addSingleSetterback to summary
private void _addSingleSetter(MethodVisitor mv, OptimizedSettableBeanProperty<?> prop, int loadValueCode, int beanIndex, boolean mustCast)
addBooleanFieldback to summary
public SettableBooleanFieldProperty addBooleanField(SettableBeanProperty prop)
addBooleanSetterback to summary
public SettableBooleanMethodProperty addBooleanSetter(SettableBeanProperty prop)
addIntFieldback to summary
public SettableIntFieldProperty addIntField(SettableBeanProperty prop)
addIntSetterback to summary
public SettableIntMethodProperty addIntSetter(SettableBeanProperty prop)
addLongFieldback to summary
public SettableLongFieldProperty addLongField(SettableBeanProperty prop)
addLongSetterback to summary
public SettableLongMethodProperty addLongSetter(SettableBeanProperty prop)
addObjectFieldback to summary
public SettableObjectFieldProperty addObjectField(SettableBeanProperty prop)
addObjectSetterback to summary
public SettableObjectMethodProperty addObjectSetter(SettableBeanProperty prop)
addStringFieldback to summary
public SettableStringFieldProperty addStringField(SettableBeanProperty prop)
addStringSetterback to summary
public SettableStringMethodProperty addStringSetter(SettableBeanProperty prop)
buildMutatorback to summary
public BeanPropertyMutator buildMutator(MyClassLoader classLoader)

Method for building generic mutator class for specified bean type.

generateMutatorClassback to summary
public Class<?> generateMutatorClass(MyClassLoader classLoader, ClassName baseName)