if (setterList != null && setterList.size() != 0)
{
for (int j = 0; j < setterList.size(); ++j)
{
MethodInfo thisSetter = setterList.get(j);
TypeInfo pinfo = thisSetter.getParameterTypes()[0];
if (getter.getReturnType().equals(pinfo) == true)
{
setter = thisSetter;
break;
}
}
}
String lowerName = getLowerPropertyName(name);
// Merge the annotations between the getters and setters
AnnotationValue[] annotations = getter.getAnnotations();
AnnotationValue[] setterAnnotations = null;
if (setter != null)
setterAnnotations = setter.getAnnotations();
annotations = mergeAnnotations(annotations, setterAnnotations);
TypeInfo type = getPropertyType(getter, setter);
properties.add(new DefaultPropertyInfo(lowerName, name, type, getter, setter, annotations));
}
}
if (setters.isEmpty() == false)
{
for (Iterator<Map.Entry<String, List<MethodInfo>>> i = setters.entrySet().iterator(); i.hasNext();)
{
Map.Entry<String, List<MethodInfo>> entry = i.next();
String name = entry.getKey();
List<MethodInfo> setterList = entry.getValue();
for(MethodInfo setter : setterList)
{
TypeInfo pinfo = setter.getParameterTypes()[0];
String lowerName = getLowerPropertyName(name);
AnnotationValue[] annotations = setter.getAnnotations();
properties.add(new DefaultPropertyInfo(lowerName, name, pinfo, null, setter, annotations));
}
}