On 3/21/18 11:27 AM, Brian Burkhalter wrote:
--- a/src/java.base/share/classes/java/io/ByteArrayOutputStream.java
+++ b/src/java.base/share/classes/java/io/ByteArrayOutputStream.java
@@ -158,15 +158,16 @@
          count += len;
      }
/**
       * Writes the complete contents of the specified byte array
       * to this {@code ByteArrayOutputStream}.
       *
-     * <p> This method is equivalent to {@link #write(byte[],int,int)
+     * @implSpec
+     * This method is equivalent to {@link #write(byte[],int,int)
       * write(b ,0, b.length)}.
       *
       * @param   b     the data.
       * @throws  NullPointerException if {@code b} is {@code null}.
       * @since   11
       */
      public void writeBytes(byte b[]) {

Sorry, this is an @apiNote, not an @implSpec.

Having this as an @implSpec sounds as if the implementation of this method in BAOS is *required* to call write(b, 0, b.length). It happens to do that in the current webrev, but this is not a requirement on the implementation. (At least that doesn't appear to be the intent.)

Instead, this statement explains and clarifies, but otherwise doesn't add any testable assertions or change any semantics of the contract specified in the first sentence of the doc. Thus, it's a note on the API.

Thanks,

s'marks


Thanks,

Brina

On Mar 21, 2018, at 10:00 AM, Brian Burkhalter <brian.burkhal...@oracle.com> 
wrote:

I’ll change before pushing.

Thanks,

Brian

On Mar 21, 2018, at 9:58 AM, Roger Riggs <roger.ri...@oracle.com> wrote:

An @impSpec for that is fine with me.

Reply via email to