< prev index next >
src/java.base/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -25,13 +25,13 @@
#warn This file is preprocessed before being compiled
package java.nio;
+import java.util.Objects;
import jdk.internal.misc.Unsafe;
-
class ByteBufferAs$Type$Buffer$RW$$BO$ // package-private
extends {#if[ro]?ByteBufferAs}$Type$Buffer{#if[ro]?$BO$}
{
#if[rw]
@@ -83,10 +83,21 @@
int rem = (pos <= lim ? lim - pos : 0);
long addr = byteOffset(pos);
return new ByteBufferAs$Type$Buffer$RW$$BO$(bb, -1, 0, rem, rem, addr);
}
+ @Override
+ public $Type$Buffer slice(int index, int length) {
+ Objects.checkFromIndexSize(index, length, limit());
+ return new ByteBufferAs$Type$Buffer$RW$$BO$(bb,
+ -1,
+ 0,
+ length,
+ length,
+ byteOffset(index));
+ }
+
public $Type$Buffer duplicate() {
return new ByteBufferAs$Type$Buffer$RW$$BO$(bb,
this.markValue(),
this.position(),
this.limit(),
< prev index next >