FileDocCategorySizeDatePackage
ByteField.javaAPI DocApache Poi 3.0.16302Mon Jan 01 12:39:42 GMT 2007org.apache.poi.util

ByteField

public class ByteField extends Object implements FixedField
representation of a byte (8-bit) field at a fixed location within a byte array
author
Marc Johnson (mjohnson at apache dot org

Fields Summary
private static final byte
_default_value
private byte
_value
private final int
_offset
Constructors Summary
public ByteField(int offset)
construct the ByteField with its offset into its containing byte array and a default value of 0

param
offset of the field within its byte array
exception
ArrayIndexOutOfBoundsException if offset is negative


                                         

       
         
    
        this(offset, _default_value);
    
public ByteField(int offset, byte value)
construct the ByteField with its offset into its containing byte array and initialize its value

param
offset of the field within its byte array
param
value the initial value
exception
ArrayIndexOutOfBoundsException if offset is negative

        if (offset < 0)
        {
            throw new ArrayIndexOutOfBoundsException(
                "offset cannot be negative");
        }
        _offset = offset;
        set(value);
    
public ByteField(int offset, byte[] data)
Construct the ByteField with its offset into its containing byte array and initialize its value from its byte array

param
offset of the field within its byte array
param
data the byte array to read the value from
exception
ArrayIndexOutOfBoundsException if the offset is not within the range of 0..(data.length - 1)

        this(offset);
        readFromBytes(data);
    
public ByteField(int offset, byte value, byte[] data)
construct the ByteField with its offset into its containing byte array, initialize its value, and write its value to its byte array

param
offset of the field within its byte array
param
value the initial value
param
data the byte array to write the value to
exception
ArrayIndexOutOfBoundsException if the offset is not within the range of 0..(data.length - 1)

        this(offset, value);
        writeToBytes(data);
    
Methods Summary
public byteget()
get the ByteField's current value

return
current value

        return _value;
    
public voidreadFromBytes(byte[] data)
set the value from its offset into an array of bytes

param
data the byte array from which the value is to be read
exception
ArrayIndexOutOfBoundsException if the offset is out of range of the bte array

        _value = data[ _offset ];
    
public voidreadFromStream(java.io.InputStream stream)
set the value from an InputStream

param
stream the InputStream from which the value is to be read
exception
BufferUnderrunException if there is not enough data available from the InputStream
exception
IOException if an IOException is thrown from reading the InputStream

        _value =
            (LittleEndian.readFromStream(stream,
                                         LittleEndianConsts.BYTE_SIZE))[ 0 ];
    
public voidset(byte value)
set the ByteField's current value

param
value to be set

        _value = value;
    
public voidset(byte value, byte[] data)
set the ByteField's current value and write it to a byte array

param
value to be set
param
data the byte array to write the value to
exception
ArrayIndexOutOfBoundsException if the offset is out of the byte array's range

        set(value);
        writeToBytes(data);
    
public java.lang.StringtoString()
return the value as a String

return
the value as a String

        return String.valueOf(_value);
    
public voidwriteToBytes(byte[] data)
write the value out to an array of bytes at the appropriate offset

param
data the array of bytes to which the value is to be written
exception
ArrayIndexOutOfBoundsException if the offset is out of the byte array's range

        data[ _offset ] = _value;