Details
Description
JiBX appears to improperly check the type accepted by a set-method. In the case of this binding:
<mapping class="cap.data.Terminal" extends="cap.data.Rule" name="Terminal">
<structure map-as="cap.data.Rule"/>
<value get-method="getToken" name="token" set-method="setToken" style="attribute"/>
<value get-method="getTokenType" name="tokenType" set-method="setTerminalType" style="attribute"/>
</mapping>
the setTerminalType() method actually expected an enumeration type and not a String. JiBX generated a cast without checking that the types were compatible. It should check this at binding time and report an error when the types don't match.
Even worse, Beta3c uses the first method with the specified name - at least with my Java compiler. So even if your class contains a (overloaded) valid method with the correct parameter, the first found will be used.
Just my two cents on this issue. This should get a higher priority in my opionion.