@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

Reply via email to