On 17.08.2012 14:30, Michael McMahon wrote:
On 09/08/12 19:15, Chris Hegarty wrote:
Michael,

Looking good, some comments.

1) Why the use of CookieManager, rather than CookieHandler? I would
expect that CookieHandler would be a cleaner API


CookieHandler is a very low level API, which doesn't offer much
functionality
beyond managing the cookies yourself, which is what you would have to
do, if there
were no cookie capabilities in the http api. So, I don't know what we
would gain from using it.

While CookieManager isn't perfect (and we'd like to suggest a few
improvements)
it is a higher level API that does take care of cookie management with
some common
policies pre-defined.

java.net.CookieHandler is an abstract class, almost an interface, that represents everything an HTTP client needs to manage cookies. java.net.CookieManager is a concrete implementation of java.net.CookieHandler. At least that is the case in the current java.net.* design.

That said, shouldn't new HttpClient depend on the more abstract java.net.CookieHandler, rather than the more concrete java.net.CookieManager, for the sake of API cleanness and extensibility? If one prefers java.net.CookieManager over java.net.CookieHandler, it is possible to use the former everywhere where the latter is expected, but not the other way around.

As a side note, in the plugin environment, it might be more natural and less invasive to interface the browser cookie store via java.net.CookieHandler rather than java.net.CookieManager. FWIW, the current plug-in implementation, com.sun.deploy.net.cookie.DeployCookieSelector, does extend java.net.CookieHandler.

Just my two cents.

Thank you,
-- Vasiliy

Reply via email to