public class PropertyMutatorCollector extends DynamicPropertyAccessorBase
Modifier and Type | Field and Description |
---|---|
private java.util.List<SettableBooleanFieldProperty> |
_booleanFields |
private java.util.List<SettableBooleanMethodProperty> |
_booleanSetters |
private java.util.List<SettableIntFieldProperty> |
_intFields |
private java.util.List<SettableIntMethodProperty> |
_intSetters |
private java.util.List<SettableLongFieldProperty> |
_longFields |
private java.util.List<SettableLongMethodProperty> |
_longSetters |
private java.util.List<SettableObjectFieldProperty> |
_objectFields |
private java.util.List<SettableObjectMethodProperty> |
_objectSetters |
private java.util.List<SettableStringFieldProperty> |
_stringFields |
private java.util.List<SettableStringMethodProperty> |
_stringSetters |
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 |
---|
PropertyMutatorCollector(java.lang.Class<?> beanClass) |
Modifier and Type | Method and Description |
---|---|
private <T extends OptimizedSettableBeanProperty<T>> |
_addFields(org.objectweb.asm.ClassWriter cw,
java.util.List<T> props,
java.lang.String methodName,
org.objectweb.asm.Type parameterType,
int loadValueCode) |
private <T extends OptimizedSettableBeanProperty<T>> |
_addFieldsUsingIf(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int loadValueCode,
int beanIndex,
boolean mustCast) |
private <T extends OptimizedSettableBeanProperty<T>> |
_addFieldsUsingSwitch(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int loadValueCode,
int beanIndex,
boolean mustCast) |
private <T extends OptimizedSettableBeanProperty<T>> |
_addSetters(org.objectweb.asm.ClassWriter cw,
java.util.List<T> props,
java.lang.String methodName,
org.objectweb.asm.Type parameterType,
int loadValueCode) |
private <T extends OptimizedSettableBeanProperty<T>> |
_addSettersUsingIf(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int loadValueCode,
int beanIndex,
boolean mustCast) |
private <T extends OptimizedSettableBeanProperty<T>> |
_addSettersUsingSwitch(org.objectweb.asm.MethodVisitor mv,
java.util.List<T> props,
int loadValueCode,
int beanIndex,
boolean mustCast) |
private void |
_addSingleField(org.objectweb.asm.MethodVisitor mv,
OptimizedSettableBeanProperty<?> prop,
int loadValueCode,
int beanIndex,
boolean mustCast) |
private void |
_addSingleSetter(org.objectweb.asm.MethodVisitor mv,
OptimizedSettableBeanProperty<?> prop,
int loadValueCode,
int beanIndex,
boolean mustCast) |
SettableBooleanFieldProperty |
addBooleanField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableBooleanMethodProperty |
addBooleanSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableIntFieldProperty |
addIntField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableIntMethodProperty |
addIntSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableLongFieldProperty |
addLongField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableLongMethodProperty |
addLongSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableObjectFieldProperty |
addObjectField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableObjectMethodProperty |
addObjectSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableStringFieldProperty |
addStringField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
SettableStringMethodProperty |
addStringSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop) |
BeanPropertyMutator |
buildMutator(MyClassLoader classLoader)
Method for building generic mutator class for specified bean
type.
|
java.lang.Class<?> |
generateMutatorClass(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<SettableIntMethodProperty> _intSetters
private final java.util.List<SettableLongMethodProperty> _longSetters
private final java.util.List<SettableBooleanMethodProperty> _booleanSetters
private final java.util.List<SettableStringMethodProperty> _stringSetters
private final java.util.List<SettableObjectMethodProperty> _objectSetters
private final java.util.List<SettableIntFieldProperty> _intFields
private final java.util.List<SettableLongFieldProperty> _longFields
private final java.util.List<SettableBooleanFieldProperty> _booleanFields
private final java.util.List<SettableStringFieldProperty> _stringFields
private final java.util.List<SettableObjectFieldProperty> _objectFields
private final java.lang.Class<?> beanClass
private final java.lang.String beanClassName
public PropertyMutatorCollector(java.lang.Class<?> beanClass)
public SettableIntMethodProperty addIntSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableLongMethodProperty addLongSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableBooleanMethodProperty addBooleanSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableStringMethodProperty addStringSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableObjectMethodProperty addObjectSetter(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableIntFieldProperty addIntField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableLongFieldProperty addLongField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableBooleanFieldProperty addBooleanField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableStringFieldProperty addStringField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public SettableObjectFieldProperty addObjectField(com.fasterxml.jackson.databind.deser.SettableBeanProperty prop)
public BeanPropertyMutator buildMutator(MyClassLoader classLoader)
public java.lang.Class<?> generateMutatorClass(MyClassLoader classLoader, ClassName baseName)
private <T extends OptimizedSettableBeanProperty<T>> void _addSetters(org.objectweb.asm.ClassWriter cw, java.util.List<T> props, java.lang.String methodName, org.objectweb.asm.Type parameterType, int loadValueCode)
private <T extends OptimizedSettableBeanProperty<T>> void _addFields(org.objectweb.asm.ClassWriter cw, java.util.List<T> props, java.lang.String methodName, org.objectweb.asm.Type parameterType, int loadValueCode)
private void _addSingleSetter(org.objectweb.asm.MethodVisitor mv, OptimizedSettableBeanProperty<?> prop, int loadValueCode, int beanIndex, boolean mustCast)
private <T extends OptimizedSettableBeanProperty<T>> void _addSettersUsingIf(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
private <T extends OptimizedSettableBeanProperty<T>> void _addSettersUsingSwitch(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
private void _addSingleField(org.objectweb.asm.MethodVisitor mv, OptimizedSettableBeanProperty<?> prop, int loadValueCode, int beanIndex, boolean mustCast)
private <T extends OptimizedSettableBeanProperty<T>> void _addFieldsUsingIf(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int loadValueCode, int beanIndex, boolean mustCast)
private <T extends OptimizedSettableBeanProperty<T>> void _addFieldsUsingSwitch(org.objectweb.asm.MethodVisitor mv, java.util.List<T> props, int loadValueCode, int beanIndex, boolean mustCast)