if( name.startsWith("set") && m.getParameterTypes().length == 2 ) {
name = name.substring(3);
name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
FXProperty p = null;
String signature = m.getParameterTypes()[1];
String genericType = Signature.toString(signature);
if( FXPrimitiveProperty.isPrimitive(genericType) ) {
p = new FXPrimitiveProperty(fxClass, name, m, Type.parseType(genericType),true);
} else {
String erasedFQNType = Util.getFQNType((IType)m.getParent(), Signature.getTypeErasure(genericType));
if( erasedFQNType != null ) {
if( FXEnumProperty.isEnum(fxClass.getJavaProject(), erasedFQNType) ) {
p = new FXEnumProperty(fxClass, name, m, erasedFQNType,true);
} else {
p = new FXObjectPoperty(fxClass, name, m, erasedFQNType,true);
}
}
}
if( p != null ) {
rv.put(p.getName(), p);
}
}
}
return rv;