[OpenJDK 2D-Dev] 8187898: PrintStream should override FilterOutputStream#write(byte[]) with a method that has no throws clause

Brian Burkhalter brian.burkhalter at oracle.com
Tue Jul 23 17:09:56 UTC 2019


Hi Lance,

> On Jul 23, 2019, at 10:03 AM, Lance Andersen <lance.andersen at oracle.com> wrote:
> 
> A couple of minor suggestions:
> 
> For
> 
> ———
>     @Override
>     public void write(byte buf[]) throws IOException {
>         super.write(buf, 0, buf.length);
>     }
> 
> ———
> 
> You will want to add an @throws

Will do.

> The implSpec
> —————
>      * @implSpec
>      * The default implementation is equivalent to
>      * {@link java.io.FilterOutputStream#write(byte[],int,int)
>      * super.write(buf,0,buf.length)}.
>      *
> ——————
> 
> Not sure if “The default implementation” is the correct wording given it is not a default method (not sure what the norm is for describing the implementation in this case). Perhaps something like “This method is equivalent to calling ….”

I concur, that would be better.

> Where you have
> 
> ————
>      * <p> Note that the bytes will be written as given; to write characters
>      * that will be translated according to the platform's default character
>      * encoding, use the {@code print(char[])} or {@code println(char[])}
>      * methods.
>      *
> ——————
> 
> Did you consider this as a candidate for @apiNote as well?

No, because this wording exists elsewhere in the class but not as @apiNotes.

Thanks,

Brian


More information about the core-libs-dev mailing list