FileDocCategorySizeDatePackage
DataBufferByte.javaAPI DocJava SE 5 API7676Fri Aug 26 14:56:54 BST 2005java.awt.image

DataBufferByte

public final class DataBufferByte extends DataBuffer
This class extends DataBuffer and stores data internally as bytes. Values stored in the byte array(s) of this DataBuffer are treated as unsigned values.

Fields Summary
byte[]
data
The default data bank.
byte[]
bankdata
All data banks
Constructors Summary
public DataBufferByte(int size)
Constructs a byte-based DataBuffer with a single bank and the specified size.

param
size The size of the DataBuffer.

      super(TYPE_BYTE,size);
      data = new byte[size];
      bankdata = new byte[1][];
      bankdata[0] = data;
    
public DataBufferByte(int size, int numBanks)
Constructs a byte based DataBuffer with the specified number of banks all of which are the specified size.

param
size The size of the banks in the DataBuffer.
param
numBanks The number of banks in the aDataBuffer.

        super(TYPE_BYTE, size, numBanks);
        bankdata = new byte[numBanks][];
        for (int i= 0; i < numBanks; i++) {
            bankdata[i] = new byte[size];
        }
        data = bankdata[0];
    
public DataBufferByte(byte[] dataArray, int size)
Constructs a byte-based DataBuffer with a single bank using the specified array. Only the first size elements should be used by accessors of this DataBuffer. dataArray must be large enough to hold size elements.

param
dataArray The byte array for the DataBuffer.
param
size The size of the DataBuffer bank.

        super(TYPE_BYTE,size);
        data = dataArray;
        bankdata = new byte[1][];
        bankdata[0] = data;
    
public DataBufferByte(byte[] dataArray, int size, int offset)
Constructs a byte-based DataBuffer with a single bank using the specified array, size, and offset. dataArray must have at least offset + size elements. Only elements offset through offset + size - 1 should be used by accessors of this DataBuffer.

param
dataArray The byte array for the DataBuffer.
param
size The size of the DataBuffer bank.
param
offset The offset into the dataArray. dataArray must have at least offset + size elements.

        super(TYPE_BYTE,size,1,offset);
        data = dataArray;
        bankdata = new byte[1][];
        bankdata[0] = data;
    
public DataBufferByte(byte[] dataArray, int size)
Constructs a byte-based DataBuffer with the specified arrays. The number of banks is equal to dataArray.length. Only the first size elements of each array should be used by accessors of this DataBuffer.

param
dataArray The byte arrays for the DataBuffer.
param
size The size of the banks in the DataBuffer.

        super(TYPE_BYTE,size,dataArray.length);
        bankdata = (byte[][]) dataArray.clone();
        data = bankdata[0];
    
public DataBufferByte(byte[] dataArray, int size, int[] offsets)
Constructs a byte-based DataBuffer with the specified arrays, size, and offsets. The number of banks is equal to dataArray.length. Each array must be at least as large as size + the corresponding offset. There must be an entry in the offset array for each dataArray entry. For each bank, only elements offset through offset + size - 1 should be used by accessors of this DataBuffer.

param
dataArray The byte arrays for the DataBuffer.
param
size The size of the banks in the DataBuffer.
param
offsets The offsets into each array.

        super(TYPE_BYTE,size,dataArray.length,offsets);
        bankdata = (byte[][]) dataArray.clone();
        data = bankdata[0];
    
Methods Summary
public byte[][]getBankData()
Returns the data arrays for all banks.

return
All of the data arrays.

       return (byte[][]) bankdata.clone();
    
public byte[]getData()
Returns the default (first) byte data array.

return
The first byte data array.

        return data;
    
public byte[]getData(int bank)
Returns the data array for the specified bank.

param
bank The bank whose data array you want to get.
return
The data array for the specified bank.

        return bankdata[bank];
    
public intgetElem(int i)
Returns the requested data array element from the first (default) bank.

param
i The data array element you want to get.
return
The requested data array element as an integer.
see
#setElem(int, int)
see
#setElem(int, int, int)

        return (int)(data[i+offset]) & 0xff;
    
public intgetElem(int bank, int i)
Returns the requested data array element from the specified bank.

param
bank The bank from which you want to get a data array element.
param
i The data array element you want to get.
return
The requested data array element as an integer.
see
#setElem(int, int)
see
#setElem(int, int, int)

        return (int)(bankdata[bank][i+offsets[bank]]) & 0xff;
    
public voidsetElem(int i, int val)
Sets the requested data array element in the first (default) bank to the specified value.

param
i The data array element you want to set.
param
val The integer value to which you want to set the data array element.
see
#getElem(int)
see
#getElem(int, int)

        data[i+offset] = (byte)val;
    
public voidsetElem(int bank, int i, int val)
Sets the requested data array element in the specified bank from the given integer.

param
bank The bank in which you want to set the data array element.
param
i The data array element you want to set.
param
val The integer value to which you want to set the specified data array element.
see
#getElem(int)
see
#getElem(int, int)

        bankdata[bank][i+offsets[bank]] = (byte)val;