public abstract class BaseArrayBuffer extends Base1DBuffer
byte[].
 The description of BaseBuffer mostly applies. Methods provided or overridden here are
 appropriate to 1-dimensional arrays, of any item size, backed by byte[].PyBuffer.PointerANY_CONTIGUOUS, AS_ARRAY, C_CONTIGUOUS, CONTIG, CONTIG_RO, CONTIGUITY, F_CONTIGUOUS, FORMAT, FULL, FULL_RO, INDIRECT, IS_C_CONTIGUOUS, IS_F_CONTIGUOUS, MAX_NDIM, NAVIGATION, ND, RECORDS, RECORDS_RO, SIMPLE, STRIDED, STRIDED_RO, STRIDES, WRITABLE| Modifier and Type | Method and Description | 
|---|---|
| int | byteIndex(int... indices)Convert a multi-dimensional item index to an absolute byte index in the storage shared by the
 exporter. | 
| void | copyFrom(byte[] src,
        int srcPos,
        int destIndex,
        int count)Copy from a slice of a (Java) byte array into the buffer starting at a given destination
 item-index. | 
| void | copyFrom(PyBuffer src)Copy the whole of another  PyBufferinto this buffer. | 
| void | copyTo(int srcIndex,
      byte[] dest,
      int destPos,
      int count)Copy a simple slice of the buffer-view to the destination byte array, defined by a starting
 item-index in the source buffer and the  countof items to copy. | 
| PyBuffer.Pointer | getBuf()Return a structure describing the slice of a byte array that holds the data being exported to
 the consumer. | 
getLen, isContiguousbyteAt, byteAt, byteIndex, close, copyTo, getBuffer, getBufferAgain, getBufferSlice, getFormat, getItemsize, getNdim, getNIOByteBuffer, getObj, getPointer, getPointer, getShape, getStrides, getSuboffsets, hasArray, intAt, intAt, isReadonly, isReleased, release, storeAt, storeAt, toStringequals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetBufferSlicepublic int byteIndex(int... indices)
              throws IndexOutOfBoundsException
PyBufferPyBuffer is a linearly-indexed sequence of
 bytes, although it may not actually be a heap-allocated Java byte[] object. The
 purpose of this method is to allow the exporter to define the relationship between the item
 index (as used in PyBuffer.byteAt(int...) and the byte-index (as used with the
 ByteBuffer returned by PyBuffer.getNIOByteBuffer()).byteIndex in interface PyBufferbyteIndex in class BaseBufferindices - n-dimensional item-index from consumerIndexOutOfBoundsExceptionpublic void copyTo(int srcIndex,
                   byte[] dest,
                   int destPos,
                   int count)
            throws IndexOutOfBoundsException
count of items to copy. This may validly
 be done only for a one-dimensional buffer, as the meaning of the starting item-index is
 otherwise not defined. count*itemsize bytes will be occupied in the destination.
 
 The default implementation in BaseBuffer deals with the general one-dimensional
 case of arbitrary item size and stride, but is unable to optimise access to sequential bytes.
 
 The implementation in BaseArrayBuffer deals with the general one-dimensional
 case of arbitrary item size and stride.
copyTo in interface PyBuffercopyTo in class BaseBuffersrcIndex - starting item-index in the source bufferdest - destination byte arraydestPos - byte-index in the destination array of the source item [0,...]count - number of items to copyIndexOutOfBoundsException - if access out of bounds in source or destinationpublic void copyFrom(byte[] src,
                     int srcPos,
                     int destIndex,
                     int count)
              throws IndexOutOfBoundsException,
                     PyException
count*itemsize bytes will be read
 from the source.
 
 The default implementation in BaseBuffer deals with the general one-dimensional
 case of arbitrary item size and stride, but is unable to optimise access to sequential bytes.
 
 The default implementation in BaseArrayBuffer deals with the general
 one-dimensional case of arbitrary item size and stride.
copyFrom in interface PyBuffercopyFrom in class BaseBuffersrc - source byte arraysrcPos - location in source of first byte to copydestIndex - starting item-index in the destination (i.e. this)count - number of items to copy inIndexOutOfBoundsException - if access out of bounds in source or destinationPyException - (TypeError) if read-only bufferpublic void copyFrom(PyBuffer src) throws IndexOutOfBoundsException, PyException
BaseBufferPyBuffer into this buffer. This may validly be done
 only for buffers that are consistent in their dimensions. When it is necessary to copy
 partial buffers, this may be achieved using a buffer slice on the source or destination.
 
 The default implementation in BaseBuffer deals with the general one-dimensional
 case of arbitrary item size and stride, but is unable to optimise access to sequential bytes.
copyFrom in interface PyBuffercopyFrom in class BaseBuffersrc - source bufferIndexOutOfBoundsException - if access out of bounds in source or destinationPyException - (TypeError) if read-only bufferpublic PyBuffer.Pointer getBuf()
obj has type BufferProtocol:
 PyBuffer a = obj.getBuffer(PyBUF.SIMPLE); int itemsize = a.getItemsize(); PyBuffer.Pointer b = a.getBuf();the item with index
k is in the array b.storage at index
 [b.offset + k*itemsize] to [b.offset + (k+1)*itemsize - 1]
 inclusive. And if itemsize==1, the item is simply the byte
 b.storage[b.offset + k]
 
 If the buffer is multidimensional or non-contiguous, storage[offset] is still
 the (first byte of) the item at index [0] or [0,...,0]. However, it is necessary to navigate
 b.storage using the shape, strides and maybe
 suboffsets provided by the API.
 
 BaseArrayBuffer provides a reference to the storage array even when the buffer
 is intended not to be writable. There can be no enforcement of read-only character once a
 reference to the byte array has been handed out.
getBuf in interface PyBuffergetBuf in class BaseBuffer