> Wouldn't this patch break the app behavior for everyone that has
> implemented it like this?

Yes.

> So my List now contains null anyways.

Good! :-)

> I guess the idea of merging acceptable values with the selected value is the
> root issue here.

Agreed. The javadoc for HasConstrainedValue indicates implementations
can choose what to do when value is not in acceptable values, but it
seems more clear to me to just always throw IllegalStateException
rather than trying to recover/guess the user's intent. But that would
be too much of a breaking change.

I can also see Thomas's point that, given that ValueListBox just
works the way it does (adding values implicitly), perhaps it really
is not broken. I think I personally would be annoyed by that behavior,
but I would probably be annoyed by anything that wasn't throwing an
IllegalStateException.

If a component implements HasConstrainedValue, to me part of the
intuitive contract *should* be that setValue can't even be called
before the acceptable values are known, because setValue should throw
an IllegalStateException for any not-acceptable value (which would
be any value, even null, if setAcceptableValues hasn't been called yet).
Obviously this behavior isn't an option at this point, but I think
it makes more sense.

- Stephen


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to