commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Fabulich (JIRA)" <>
Subject [jira] Commented: (DBUTILS-61) Backwards binary compatibility broken in KeyedHandler
Date Tue, 03 Nov 2009 19:52:32 GMT


Dan Fabulich commented on DBUTILS-61:

It seems that KeyedHandler was only a map of maps by convention; it was really a KeyedHandler<K,V>
implements ResultSetHandler<Map<K,V>>.

But there's no way to implement that API concretely!  So I think the best thing is just to
create an explicit AbstractKeyedHandler<K,V> implements ResultSetHandler<Map<K,V>>,
so KeyedHandler extends AbstractKeyedHandler<Object, Map<String, Object>>.  This
will also fix binary compatibility, as the compiler will append a #createRow method that returns

> Backwards binary compatibility broken in KeyedHandler
> -----------------------------------------------------
>                 Key: DBUTILS-61
>                 URL:
>             Project: Commons DbUtils
>          Issue Type: Bug
>            Reporter: Dan Fabulich
>             Fix For: 1.3
> In revision r832220 KeyedHandler's API was modified.  KeyedHandler#createRow used to
be able to return any object, but now can only return a Map (and a map of Strings to Objects,
at that).
> clirr reports this as a binary backwards compatibility error; even "correct" subclasses
of KeyedHandler that attempt to override createRow will find that we ignore the subclass implementation
and simply invoke KeyedHandler#createRow instead.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message