SSLStringize.java:

1. I assume the toString() method does not change the internal status of a 
ByteBuffer? Is it worth mentioning this in the spec?

2. Should this interface and all its implementations be renamed to 
***Stringnizer?

3. Lot of typo: ***Concumer. You can probably "cd sun/security/ssl" and run

   perl -i -pe 's/Concumer/Consumer/g' *.java

The whole SSLStringize + children classes looks complicated to me. Since the 
implementation is almost always creating a SSLExtensionSpec object and calling 
its toString, is it possible to register this SSLExtensionSpec class name in 
each enum value in SSLExtension and somehow simplify the design? Something like 
--

   In constructor of SSLExtension, change the last parameter from
   "SSLStringize stringize" to "Class<? extends SSLExtensionSpec> specClazz"
   store the value into a private field named specClazz, and
   then you can change "stringize.toString(byteBuffer)" to something like
   "specClazz.newInstance(byteBuffer).toString()".

That said, I know you must have thought about this much more. If there is any 
space for enhancement, we can always refactor it later.

Thanks
Max

Reply via email to