com.ibm.jzos.fields
Class PackedDecimalAsIntField

java.lang.Object
  extended by com.ibm.jzos.fields.PackedDecimalAsIntField
All Implemented Interfaces:
Field, IntAccessor

public class PackedDecimalAsIntField
extends java.lang.Object
implements IntAccessor

A packed decimal Field up to 9 digits (5 bytes) with int accessors.


Constructor Summary
PackedDecimalAsIntField(int offset, int precision, boolean signed)
          Construct an instance
 
Method Summary
 boolean equals(java.lang.Integer anInteger, int anInt)
          Compare an Integer, possibly null, with an int for equality.
 int getByteLength()
          Answer the length of the field described by the receiver
 int getInt(byte[] buffer)
          Answer a int from the given byte array buffer, at the offset of this field.
 int getInt(byte[] buffer, int bufOffset)
          Answer a int from the given byte array buffer, at the bufOffset + offset of this field.
 int getOffset()
          Answer the offset of this field into some array of bytes
 int getPrecision()
          Answer the number of decimal digits of precision.
 boolean isSigned()
          Answer whether the field is signed
 void putInt(int value, byte[] buffer)
          Put a int into the given byte array buffer, at the offset of this field.
 void putInt(int value, byte[] buffer, int bufOffset)
          Put a int into the given byte array buffer, at the bufOffset + offset of this field.
 void setOffset(int offset)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PackedDecimalAsIntField

public PackedDecimalAsIntField(int offset,
                               int precision,
                               boolean signed)
Construct an instance

Parameters:
offset - position of this field
precision - total number of digits <= 9.
signed - if true the last nibble is a sign
Method Detail

getByteLength

public int getByteLength()
Answer the length of the field described by the receiver

Specified by:
getByteLength in interface Field
Returns:
int

getOffset

public int getOffset()
Answer the offset of this field into some array of bytes

Specified by:
getOffset in interface Field
Returns:
int

setOffset

public void setOffset(int offset)
Specified by:
setOffset in interface Field
See Also:
getOffset()

getPrecision

public int getPrecision()
Answer the number of decimal digits of precision.

Returns:
int

getInt

public int getInt(byte[] buffer)
Answer a int from the given byte array buffer, at the offset of this field.

Specified by:
getInt in interface IntAccessor
Parameters:
buffer - the byte array
Returns:
int

getInt

public int getInt(byte[] buffer,
                  int bufOffset)
Answer a int from the given byte array buffer, at the bufOffset + offset of this field.

Specified by:
getInt in interface IntAccessor
Parameters:
buffer - the byte array
bufOffset - the additional offset into the byte array
Returns:
int

putInt

public void putInt(int value,
                   byte[] buffer)
            throws java.lang.IllegalArgumentException
Put a int into the given byte array buffer, at the offset of this field.

Specified by:
putInt in interface IntAccessor
Parameters:
value - the signed int value
buffer - the byte array
Throws:
java.lang.IllegalArgumentException - if the value is out of range

putInt

public void putInt(int value,
                   byte[] buffer,
                   int bufOffset)
            throws java.lang.IllegalArgumentException
Put a int into the given byte array buffer, at the bufOffset + offset of this field.

Specified by:
putInt in interface IntAccessor
Parameters:
value - the signed int value
buffer - the byte array
bufOffset - the additional offset into the byte array
Throws:
java.lang.IllegalArgumentException - if the value is out of range

isSigned

public boolean isSigned()
Answer whether the field is signed

Specified by:
isSigned in interface IntAccessor

equals

public boolean equals(java.lang.Integer anInteger,
                      int anInt)
Compare an Integer, possibly null, with an int for equality.

Parameters:
anInteger -
anInt -
Returns:
boolean true if equal, false otherwise