[ http://issues.apache.org/jira/browse/IBATIS-128?page=comments#action_65107 ] Brandon Goodin commented on IBATIS-128: ---------------------------------------
You should not overload setters on your bean. It is a violation of the bean spec. If you want to subvert the spec, the best way to do it is by changing the name of your setter so something like setFeatureIdsSet. Also, your naming convention is not spec compliant. But, that is just a side point. Brandon > ClassInfo does not support overloaded methods (e.g. setters) > ------------------------------------------------------------ > > Key: IBATIS-128 > URL: http://issues.apache.org/jira/browse/IBATIS-128 > Project: iBatis for Java > Type: Bug > Components: SQL Maps > Versions: 2.0.8 > Environment: iBatis 2.0.7 > Reporter: Jerome Lacoste > > ClassInfo keys setters by their names. > private void addMethods(Class cls) { > Method[] methods = cls.getMethods(); > for (int i = 0; i < methods.length; i++) { > String name = methods[i].getName(); > if (name.startsWith("set") && name.length() > 3) { > if (methods[i].getParameterTypes().length == 1) { > name = dropCase(name); > --> setMethods.put(name, methods[i]); > setTypes.put(name, methods[i].getParameterTypes()[0]); > } > See > http://cvs.sourceforge.net/viewcvs.py/ibatisdb/ibatis-dbl-2/src/com/ibatis/common/beans/ClassInfo.java?rev=1.8&view=markup > So if you overload a method in your bean, you never know which one is going > to be stored last in the map. > With: > public void setFeatureIDs(Set featureIDs) { > this.featureIDs = featureIDs; > } > public void setFeatureIDs(List featureIDs) { > this.featureIDs = new TreeSet(featureIDs); > } > I end up with the following error: > Error setting property 'setFeatureIDs(java.util.Set=[2] $Proxy4 implements > interface java.util.List)' of 'Part-20021'. Cause: > java.lang.IllegalArgumentException: argument type mismatch Caused by: > java.lang.IllegalArgumentException: argument type mismatch]; > See issue IBATIS-127 for debugging -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira