@SuppressWarnings("unchecked") public <T, P> Setter<T,P> createSetter(final Method m) throws Exception { Setter<T,P> setter = (Setter<T, P>) setterCache.get(m); if (setter == null) { final String className = generateClassNameForSetter(m); final byte[] bytes = generateSetterByteCodes(m, className); final Class<?> type = createClass(className, bytes, m.getDeclaringClass().getClassLoader()); setter = (Setter<T, P>) type.newInstance(); setterCache.putIfAbsent(m, setter); } return setter; }
@SuppressWarnings("unchecked") public <T, P> Setter<T,P> createSetter(Field field) throws Exception { Setter<T,P> setter = (Setter<T, P>) setterCache.get(field); if (setter == null) { final String className = generateClassNameForSetter(field); final byte[] bytes = generateSetterByteCodes(field, className); final Class<?> type = createClass(className, bytes, field.getDeclaringClass().getClassLoader()); setter = (Setter<T, P>) type.newInstance(); setterCache.putIfAbsent(field, setter); } return setter; }
@SuppressWarnings("unchecked") public <T, P> Setter<T,P> createSetter(final Method m) throws Exception { Setter<T,P> setter = (Setter<T, P>) setterCache.get(m); if (setter == null) { final String className = generateClassNameForSetter(m); final byte[] bytes = generateSetterByteCodes(m, className); final Class<?> type = createClass(className, bytes, m.getDeclaringClass().getClassLoader()); setter = (Setter<T, P>) type.newInstance(); setterCache.putIfAbsent(m, setter); } return setter; }
@SuppressWarnings("unchecked") public <T, P> Setter<T,P> createSetter(Field field) throws Exception { Setter<T,P> setter = (Setter<T, P>) setterCache.get(field); if (setter == null) { final String className = generateClassNameForSetter(field); final byte[] bytes = generateSetterByteCodes(field, className); final Class<?> type = createClass(className, bytes, field.getDeclaringClass().getClassLoader()); setter = (Setter<T, P>) type.newInstance(); setterCache.putIfAbsent(field, setter); } return setter; }