public ValueSetter(ConverterRegistry aConverters, Class<?> aContextType, Class<?> aValueType, String... aMaybeNames) { setter = getMethod(aContextType, aMaybeNames); getter = Classes.getAccessorMethod(aContextType, aMaybeNames); if (getter != null) { if (aValueType != null) { converter = aConverters.getConverter(aValueType); } else { converter = aConverters.getConverter(getter.getReturnType()); } } else { if (aValueType != null) { converter = aConverters.getConverter(aValueType); } else { converter = aConverters.getConverter(setter.getParameterTypes()[0]); } } twoArgSetter = (setter.getParameterTypes().length == 2); }
public void onAttach(Class<?> aContainerType, ReflectorFactory aReflector, ConverterRegistry aConverters) { if ((intermediate != null) && (converter == null)) converter = (Converter<?,R>)aConverters.getConverter(intermediate, type); Class<?> _attachTo = ReflectorFactory.maybeConvertToProxy((intermediate != null) ? intermediate : type); for (Content _c : content) _c.onAttach(_attachTo, reflector, aConverters); aReflector.prepare(aContainerType, name, _attachTo); }
public void onAttach(Class<?> aContainerType, ReflectorFactory aReflector, ConverterRegistry aConverters) { Content<?> _def = JsonDocumentDefinition.firstNonNull(obj, property, array); if (type.isInterface()) { intermediate = ArrayList.class; converter = aConverters.getConverter(ArrayList.class, type); aReflector.prepare(aContainerType, name, intermediate); _def.onAttach(intermediate, reflector, aConverters); } else { Class<?> _type = ReflectorFactory.maybeConvertToProxy(type); aReflector.prepare(aContainerType, name, _type); _def.onAttach(_type, reflector, aConverters); } }