UrlEncodedQueryString CCC request
Michael McMahon
Michael.McMahon at Sun.COM
Fri Nov 2 13:37:01 PDT 2007
Here is my suggestion. It probably makes sense to keep two separate
classes, even though UriBuilder can potentially
be used to create any possible URI. I think it is still useful to be
able to manipulate query parameters independent
of the URI that they are to be applied to, and I think the ability to
remove parameters and retrieve them individually
makes sense for query params (though not so much for other URI fields).
So, to that end, I propose:
1) We adopt UriBuilder with some methods removed (can be added back in
sub-class defined in javax.ws.rs)
but with a build() method added that takes a UrlEncodedQueryString
2) We remove the apply() methods from UrlEncodedQueryString because you
build URIs now through UriBuilder.
3) Most methods in UrlEncodedQueryString need to be renamed. The word
Parameter needs to be removed from all
of them. So, appendParameter() becomes append(). I think
appendParameters() should also be named append().
4) The parse() and create() methods should have the same name, and
possibly be aligned with the creation methods
in UriBuilder
5) I'm having second thoughts about exposing the Map outside of the
class. I'd like to look at the reason why
we did this again.
6) I think the separator char should be specified at object creation
time. I can't see any great benefit to it being
specified at the time apply() was called (though I know there may be
some cases we still need to support, where
different separators are used in the same query string).
Regards,
Michael
More information about the net-dev
mailing list