@nacx I can see what you mean but I don't think that approach would be as helpful to developers. It's fail-slow, you can set an invalid value but you don't find out about it until just before the request is about to be sent and it's non-localized because the error would occur in the code calling the `MessageApi.create()` method instead of when the builder method is called which is where the real error is. Plus ParamValidator object would have to check many `CreateMessage` objects at once and it's possible the error message would be ambiguous.
@demobox I'm not sure what you mean by "into a checkArgument in the API call implementation". The "implementation" is done by annotations/reflection and the RestAnnotationProcessor. Where could you put a checkArgument? Can you give me an example? This discussion is kind of going the opposite way I hoped it would. The solutions are getting more complex and less helpful to users. If `System.setProperty()` is no good, that's fine. I'll just remove it. These are the kinds of problems developers hit exactly once. They try to do something that is out of the range of values, get an error message from the service with the appropriate range, and correct their code. I don't want to add too much complexity for what's really a corner case. --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs-openstack/pull/46#issuecomment-28445357
