<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 13 Feb 2019, at 22:15, Brian Burkhalter <<a href="mailto:brian.burkhalter@oracle.com" class="">brian.burkhalter@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Feb 13, 2019, at 12:04 PM, Alan Bateman <<a href="mailto:Alan.Bateman@oracle.com" class="">Alan.Bateman@oracle.com</a>> wrote:</div><div class=""><blockquote type="cite" style="font-family: Helvetica; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><font color="#00afcd" class=""><span style="caret-color: rgb(0, 175, 205);" class="">...</span></font></blockquote><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">I spent a bit of time going through the existing spec to get the various exception cases into my head. I think my concerns and suggestion to keep this consistent with the relative bulk get/set methods were incorrect and that IOOBE is actually the right exception. The methods that I think settle this debate is the absolute get/put methods defined by ByteBuffer for reading/writing primitive values. As an example getLong(index) throws IOOBE if the index is not smaller than the limit minus seven. Sorry for wasting your time on Buffer*flowException, they only come into the picture for methods that need to change the position.</span></div></blockquote></div></div></div></blockquote><div><br class=""></div><div><div>It is certainly interesting to compare the exceptional behaviour of</div><div>these new absolute bulk methods to the existing absolute primitive</div><div>methods of ByteBuffer. I hadn't considered that. Somewhat because I</div><div>consider the new absolute bulk methods more closely aligned with the</div><div>relative bulk methods, but mostly because the primitive getter/setters</div><div>are ByteBuffer specific, while these new absolute bulk methods are</div><div>across all buffer types.</div><div><br class=""></div><div>My preference is still for the previous webrev ( .02 ), for the reasons</div><div>stated above. But since I appear to be in the minority now, and</div><div>otherwise the changes are good ( and most welcome ), I don't object to</div><div>webrev .03.</div><div class=""><br class=""></div></div>-Chris.</div><br class=""></body></html>