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

IntegerField

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

Fields Summary
private int
_value
private final int
_offset
Constructors Summary
public IntegerField(int offset)
construct the IntegerField with its offset into its containing byte array

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

        if (offset < 0)
        {
            throw new ArrayIndexOutOfBoundsException("negative offset");
        }
        _offset = offset;
    
public IntegerField(int offset, int value)
construct the IntegerField 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 the offset is negative

        this(offset);
        set(value);
    
public IntegerField(int offset, byte[] data)
Construct the IntegerField 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 IntegerField(int offset, int value, byte[] data)
construct the IntegerField with its offset into its containing byte array, initialize its value, and write the value to a 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 negative or too large

        this(offset);
        set(value, data);
    
Methods Summary
public intget()
get the IntegerField'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 too large

        _value = LittleEndian.getInt(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.readInt(stream);
    
public voidset(int value)
set the IntegerField's current value

param
value to be set

        _value = value;
    
public voidset(int value, byte[] data)
set the IntegerField'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 too large

        _value = 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 too large

        LittleEndian.putInt(data, _offset, _value);