Logo Search packages:      
Sourcecode: icedtea-java7 version File versions

DirectByteBufferR.java

/*
 * Copyright 2000-2005 Sun Microsystems, Inc.  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.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

// -- This file was mechanically generated: Do not edit! -- //

package java.nio;

import sun.misc.Cleaner;
import sun.misc.Unsafe;
import sun.nio.ch.DirectBuffer;
import sun.nio.ch.FileChannelImpl;


class DirectByteBufferR



    extends DirectByteBuffer

    implements DirectBuffer
{
































































    // Primary constructor
    //
    DirectByteBufferR(int cap) {                // package-private




















      super(cap);

    }













    // For memory-mapped buffers -- invoked by FileChannelImpl via reflection
    //
    protected DirectByteBufferR(int cap, long addr, Runnable unmapper) {






      super(cap, addr, unmapper);

    }



    // For duplicates and slices
    //
    DirectByteBufferR(DirectBuffer db,            // package-private
                         int mark, int pos, int lim, int cap,
                         int off)
    {








      super(db, mark, pos, lim, cap, off);

    }

    public ByteBuffer slice() {
      int pos = this.position();
      int lim = this.limit();
      assert (pos <= lim);
      int rem = (pos <= lim ? lim - pos : 0);
      int off = (pos << 0);
        assert (off >= 0);
      return new DirectByteBufferR(this, -1, 0, rem, rem, off);
    }

    public ByteBuffer duplicate() {
      return new DirectByteBufferR(this,
                                    this.markValue(),
                                    this.position(),
                                    this.limit(),
                                    this.capacity(),
                                    0);
    }

    public ByteBuffer asReadOnlyBuffer() {








      return duplicate();

    }


















































    public ByteBuffer put(byte x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer put(int i, byte x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer put(ByteBuffer src) {




































      throw new ReadOnlyBufferException();

    }

    public ByteBuffer put(byte[] src, int offset, int length) {






















      throw new ReadOnlyBufferException();

    }
    
    public ByteBuffer compact() {











      throw new ReadOnlyBufferException();

    }

    public boolean isDirect() {
      return true;
    }

    public boolean isReadOnly() {
      return true;
    }






























































    byte _get(int i) {                    // package-private
      return unsafe.getByte(address + i);
    }

    void _put(int i, byte b) {                  // package-private



      throw new ReadOnlyBufferException();

    }






















    private ByteBuffer putChar(long a, char x) {









      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putChar(char x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putChar(int i, char x) {




      throw new ReadOnlyBufferException();

    }

    public CharBuffer asCharBuffer() {
      int off = this.position();
      int lim = this.limit();
      assert (off <= lim);
      int rem = (off <= lim ? lim - off : 0);

      int size = rem >> 1;
      if (!unaligned && ((address + off) % (1 << 1) != 0)) {
          return (bigEndian
                ? (CharBuffer)(new ByteBufferAsCharBufferRB(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off))
                : (CharBuffer)(new ByteBufferAsCharBufferRL(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off)));
      } else {
          return (nativeByteOrder
                ? (CharBuffer)(new DirectCharBufferRU(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off))
                : (CharBuffer)(new DirectCharBufferRS(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off)));
      }
    }






















    private ByteBuffer putShort(long a, short x) {









      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putShort(short x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putShort(int i, short x) {




      throw new ReadOnlyBufferException();

    }

    public ShortBuffer asShortBuffer() {
      int off = this.position();
      int lim = this.limit();
      assert (off <= lim);
      int rem = (off <= lim ? lim - off : 0);

      int size = rem >> 1;
      if (!unaligned && ((address + off) % (1 << 1) != 0)) {
          return (bigEndian
                ? (ShortBuffer)(new ByteBufferAsShortBufferRB(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off))
                : (ShortBuffer)(new ByteBufferAsShortBufferRL(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off)));
      } else {
          return (nativeByteOrder
                ? (ShortBuffer)(new DirectShortBufferRU(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off))
                : (ShortBuffer)(new DirectShortBufferRS(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off)));
      }
    }






















    private ByteBuffer putInt(long a, int x) {









      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putInt(int x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putInt(int i, int x) {




      throw new ReadOnlyBufferException();

    }

    public IntBuffer asIntBuffer() {
      int off = this.position();
      int lim = this.limit();
      assert (off <= lim);
      int rem = (off <= lim ? lim - off : 0);

      int size = rem >> 2;
      if (!unaligned && ((address + off) % (1 << 2) != 0)) {
          return (bigEndian
                ? (IntBuffer)(new ByteBufferAsIntBufferRB(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off))
                : (IntBuffer)(new ByteBufferAsIntBufferRL(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off)));
      } else {
          return (nativeByteOrder
                ? (IntBuffer)(new DirectIntBufferRU(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off))
                : (IntBuffer)(new DirectIntBufferRS(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off)));
      }
    }






















    private ByteBuffer putLong(long a, long x) {









      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putLong(long x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putLong(int i, long x) {




      throw new ReadOnlyBufferException();

    }

    public LongBuffer asLongBuffer() {
      int off = this.position();
      int lim = this.limit();
      assert (off <= lim);
      int rem = (off <= lim ? lim - off : 0);

      int size = rem >> 3;
      if (!unaligned && ((address + off) % (1 << 3) != 0)) {
          return (bigEndian
                ? (LongBuffer)(new ByteBufferAsLongBufferRB(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off))
                : (LongBuffer)(new ByteBufferAsLongBufferRL(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off)));
      } else {
          return (nativeByteOrder
                ? (LongBuffer)(new DirectLongBufferRU(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off))
                : (LongBuffer)(new DirectLongBufferRS(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off)));
      }
    }






















    private ByteBuffer putFloat(long a, float x) {









      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putFloat(float x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putFloat(int i, float x) {




      throw new ReadOnlyBufferException();

    }

    public FloatBuffer asFloatBuffer() {
      int off = this.position();
      int lim = this.limit();
      assert (off <= lim);
      int rem = (off <= lim ? lim - off : 0);

      int size = rem >> 2;
      if (!unaligned && ((address + off) % (1 << 2) != 0)) {
          return (bigEndian
                ? (FloatBuffer)(new ByteBufferAsFloatBufferRB(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off))
                : (FloatBuffer)(new ByteBufferAsFloatBufferRL(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off)));
      } else {
          return (nativeByteOrder
                ? (FloatBuffer)(new DirectFloatBufferRU(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off))
                : (FloatBuffer)(new DirectFloatBufferRS(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off)));
      }
    }






















    private ByteBuffer putDouble(long a, double x) {









      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putDouble(double x) {




      throw new ReadOnlyBufferException();

    }

    public ByteBuffer putDouble(int i, double x) {




      throw new ReadOnlyBufferException();

    }

    public DoubleBuffer asDoubleBuffer() {
      int off = this.position();
      int lim = this.limit();
      assert (off <= lim);
      int rem = (off <= lim ? lim - off : 0);

      int size = rem >> 3;
      if (!unaligned && ((address + off) % (1 << 3) != 0)) {
          return (bigEndian
                ? (DoubleBuffer)(new ByteBufferAsDoubleBufferRB(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off))
                : (DoubleBuffer)(new ByteBufferAsDoubleBufferRL(this,
                                                       -1,
                                                       0,
                                                       size,
                                                       size,
                                                       off)));
      } else {
          return (nativeByteOrder
                ? (DoubleBuffer)(new DirectDoubleBufferRU(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off))
                : (DoubleBuffer)(new DirectDoubleBufferRS(this,
                                                 -1,
                                                 0,
                                                 size,
                                                 size,
                                                 off)));
      }
    }

}

Generated by  Doxygen 1.6.0   Back to index