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

DataBufferUShort

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

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

param
size The size of the DataBuffer.

        super(TYPE_USHORT,size);
        data = new short[size];
        bankdata = new short[1][];
        bankdata[0] = data;
    
public DataBufferUShort(int size, int numBanks)
Constructs an unsigned-short 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_USHORT,size,numBanks);
        bankdata = new short[numBanks][];
        for (int i= 0; i < numBanks; i++) {
            bankdata[i] = new short[size];
        }
        data = bankdata[0];
    
public DataBufferUShort(short[] dataArray, int size)
Constructs an unsigned-short 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 unsigned-short array for the DataBuffer.
param
size The size of the DataBuffer bank.

        super(TYPE_USHORT,size);
        if (dataArray == null) {
            throw new NullPointerException("dataArray is null");
        }
        data = dataArray;
        bankdata = new short[1][];
        bankdata[0] = data;
    
public DataBufferUShort(short[] dataArray, int size, int offset)
Constructs an unsigned-short 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 unsigned-short array for the DataBuffer.
param
size The size of the DataBuffer bank.
param
offset The offset into the dataArray.

        super(TYPE_USHORT,size,1,offset);
        if (dataArray == null) {
            throw new NullPointerException("dataArray is null");
        }
        if ((size+offset) > dataArray.length) {
            throw new IllegalArgumentException("Length of dataArray is less "+
                                               " than size+offset.");
        }
        data = dataArray;
        bankdata = new short[1][];
        bankdata[0] = data;
    
public DataBufferUShort(short[] dataArray, int size)
Constructs an unsigned-short based DataBuffer with the specified arrays. The number of banks will be equal to dataArray.length. Only the first size elements of each array should be used by accessors of this DataBuffer.

param
dataArray The unsigned-short arrays for the DataBuffer.
param
size The size of the banks in the DataBuffer.

        super(TYPE_USHORT,size,dataArray.length);
        if (dataArray == null) {
            throw new NullPointerException("dataArray is null");
        }
        for (int i=0; i < dataArray.length; i++) {
            if (dataArray[i] == null) {
                throw new NullPointerException("dataArray["+i+"] is null");
            }
        }
                
        bankdata = (short[][]) dataArray.clone();
        data = bankdata[0];
    
public DataBufferUShort(short[] dataArray, int size, int[] offsets)
Constructs an unsigned-short based DataBuffer with 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 unsigned-short arrays for the DataBuffer.
param
size The size of the banks in the DataBuffer.
param
offsets The offsets into each array.

        super(TYPE_USHORT,size,dataArray.length,offsets);
        if (dataArray == null) {
            throw new NullPointerException("dataArray is null");
        }
        for (int i=0; i < dataArray.length; i++) {
            if (dataArray[i] == null) {
                throw new NullPointerException("dataArray["+i+"] is null");
            }
            if ((size+offsets[i]) > dataArray[i].length) {
                throw new IllegalArgumentException("Length of dataArray["+i+
                                                   "] is less than size+"+
                                                   "offsets["+i+"].");
            }
                                                  
        }
        bankdata = (short[][]) dataArray.clone();
        data = bankdata[0];
    
Methods Summary
public short[][]getBankData()
Returns the data arrays for all banks.

return
All of the data arrays.

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

return
The first unsigned-short data array.

        return data;
    
public short[]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]&0xffff);
    
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]]&0xffff);
    
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] = (short)(val&0xffff);
    
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]] = (short)(val&0xffff);