com.ibm.as400.access
Class AS400ZonedDecimal

java.lang.Object
  |
  +--com.ibm.as400.access.AS400ZonedDecimal
All Implemented Interfaces:
AS400DataType, java.lang.Cloneable, java.io.Serializable

public class AS400ZonedDecimal
extends java.lang.Object
implements AS400DataType

The AS400ZonedDecimal class provides a converter between a BigDecimal object and a zoned decimal format floating point number.

See Also:
Serialized Form

Fields inherited from interface com.ibm.as400.access.AS400DataType
serialVersionUID
 
Constructor Summary
AS400ZonedDecimal(int numDigits, int numDecimalPositions)
          Constructs an AS400ZonedDecimal object.
 
Method Summary
 java.lang.Object clone()
          Creates a new AS400ZonedDecimal object that is identical to the current instance.
 int getByteLength()
          Returns the byte length of the data type.
 java.lang.Object getDefaultValue()
          Returns a Java object representing the default value of the data type.
 int getNumberOfDecimalPositions()
          Returns the number of decimal positions in the zoned decimal number.
 int getNumberOfDigits()
          Returns the total number of digits in the zoned decimal number.
 byte[] toBytes(double doubleValue)
          Converts the specified Java object to AS/400 format.
 int toBytes(double doubleValue, byte[] as400Value)
          Converts the specified Java object into AS/400 format in the specified byte array.
 int toBytes(double doubleValue, byte[] as400Value, int offset)
          Converts the specified Java object into AS/400 format in the specified byte array.
 byte[] toBytes(java.lang.Object javaValue)
          Converts the specified Java object to AS/400 format.
 int toBytes(java.lang.Object javaValue, byte[] as400Value)
          Converts the specified Java object into AS/400 format in the specified byte array.
 int toBytes(java.lang.Object javaValue, byte[] as400Value, int offset)
          Converts the specified Java object into AS/400 format in the specified byte array.
 double toDouble(byte[] as400Value)
          Converts the specified AS/400 data type to a Java double value.
 double toDouble(byte[] as400Value, int offset)
          Converts the specified AS/400 data type to a Java double value.
 java.lang.Object toObject(byte[] as400Value)
          Converts the specified AS/400 data type to a Java object.
 java.lang.Object toObject(byte[] as400Value, int offset)
          Converts the specified AS/400 data type to a Java object.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AS400ZonedDecimal

public AS400ZonedDecimal(int numDigits,
                         int numDecimalPositions)
Constructs an AS400ZonedDecimal object.
Parameters:
numDigits - The number of digits in the zoned decimal number. It must be greater than or equal to one and less than or equal to thirty-one.
numDecimalPositions - The number of decimal positions in the zoned decimal number. It must be greater than or equal to zero and less than or equal to numDigits.
Method Detail

clone

public java.lang.Object clone()
Creates a new AS400ZonedDecimal object that is identical to the current instance.
Specified by:
clone in interface AS400DataType
Overrides:
clone in class java.lang.Object
Returns:
The new object.

getByteLength

public int getByteLength()
Returns the byte length of the data type.
Specified by:
getByteLength in interface AS400DataType
Returns:
The number of bytes in the AS/400 representation of the data type.

getDefaultValue

public java.lang.Object getDefaultValue()
Returns a Java object representing the default value of the data type.
Specified by:
getDefaultValue in interface AS400DataType
Returns:
The BigDecimal object with a value of zero.

getNumberOfDigits

public int getNumberOfDigits()
Returns the total number of digits in the zoned decimal number.
Returns:
The number of digits.

getNumberOfDecimalPositions

public int getNumberOfDecimalPositions()
Returns the number of decimal positions in the zoned decimal number.
Returns:
The number of decimal positions.

toBytes

public byte[] toBytes(java.lang.Object javaValue)
Converts the specified Java object to AS/400 format.
Specified by:
toBytes in interface AS400DataType
Parameters:
javaValue - The object corresponding to the data type. It must be an instance of BigDecimal and the BigDecimal must have a less than or equal to number of digits and a less than or equal to number of decimal places.
Returns:
The AS/400 representation of the data type.

toBytes

public int toBytes(java.lang.Object javaValue,
                   byte[] as400Value)
Converts the specified Java object into AS/400 format in the specified byte array.
Specified by:
toBytes in interface AS400DataType
Parameters:
javaValue - The object corresponding to the data type. It must be an instance of BigDecimal and the BigDecimal must have a less than or equal to number of digits and a less than or equal to number of decimal places.
as400Value - The array to receive the data type in AS/400 format. There must be enough space to hold the AS/400 value.
Returns:
The number of bytes in the AS/400 representation of the data type.

toBytes

public int toBytes(java.lang.Object javaValue,
                   byte[] as400Value,
                   int offset)
Converts the specified Java object into AS/400 format in the specified byte array.
Specified by:
toBytes in interface AS400DataType
Parameters:
javaValue - The object corresponding to the data type. It must be an instance of BigDecimal and the BigDecimal must have a less than or equal to number of digits and a less than or equal to number of decimal places.
as400Value - The array to receive the data type in AS/400 format. There must be enough space to hold the AS/400 value.
offset - The offset into the byte array for the start of the AS/400 value. It must be greater than or equal to zero.
Returns:
The number of bytes in the AS/400 representation of the data type.

toBytes

public byte[] toBytes(double doubleValue)
Converts the specified Java object to AS/400 format.
Parameters:
doubleValue - The value to be converted to AS/400 format. If the decimal part of this value needs to be truncated, it will be rounded towards zero. If the integral part of this value needs to be truncated, an exception will be thrown.
Returns:
The AS/400 representation of the data type.

toBytes

public int toBytes(double doubleValue,
                   byte[] as400Value)
Converts the specified Java object into AS/400 format in the specified byte array.
Parameters:
doubleValue - The value to be converted to AS/400 format. If the decimal part of this value needs to be truncated, it will be rounded towards zero. If the integral part of this value needs to be truncated, an exception will be thrown.
as400Value - The array to receive the data type in AS/400 format. There must be enough space to hold the AS/400 value.
Returns:
The number of bytes in the AS/400 representation of the data type.

toBytes

public int toBytes(double doubleValue,
                   byte[] as400Value,
                   int offset)
Converts the specified Java object into AS/400 format in the specified byte array.
Parameters:
doubleValue - The value to be converted to AS/400 format. If the decimal part of this value needs to be truncated, it will be rounded towards zero. If the integral part of this value needs to be truncated, an exception will be thrown.
as400Value - The array to receive the data type in AS/400 format. There must be enough space to hold the AS/400 value.
offset - The offset into the byte array for the start of the AS/400 value. It must be greater than or equal to zero.
Returns:
The number of bytes in the AS/400 representation of the data type.

toDouble

public double toDouble(byte[] as400Value)
Converts the specified AS/400 data type to a Java double value. If the decimal part of the value needs to be truncated to be represented by a Java double value, then it is rounded towards zero. If the integral part of the value needs to be truncated to be represented by a Java double value, then it converted to either Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY.
Parameters:
as400Value - The array containing the data type in AS/400 format. The entire data type must be represented.
Returns:
The Java double value corresponding to the data type.

toDouble

public double toDouble(byte[] as400Value,
                       int offset)
Converts the specified AS/400 data type to a Java double value. If the decimal part of the value needs to be truncated to be represented by a Java double value, then it is rounded towards zero. If the integral part of the value needs to be truncated to be represented by a Java double value, then it converted to either Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY.
Parameters:
as400Value - The array containing the data type in AS/400 format. The entire data type must be represented.
offset - The offset into the byte array for the start of the AS/400 value. It must be greater than or equal to zero.
Returns:
The Java double value corresponding to the data type.

toObject

public java.lang.Object toObject(byte[] as400Value)
Converts the specified AS/400 data type to a Java object.
Specified by:
toObject in interface AS400DataType
Parameters:
as400Value - The array containing the data type in AS/400 format. The entire data type must be represented.
Returns:
The BigDecimal object corresponding to the data type.

toObject

public java.lang.Object toObject(byte[] as400Value,
                                 int offset)
Converts the specified AS/400 data type to a Java object.
Specified by:
toObject in interface AS400DataType
Parameters:
as400Value - The array containing the data type in AS/400 format. The entire data type must be represented.
offset - The offset into the byte array for the start of the AS/400 value. It must be greater than or equal to zero.
Returns:
The BigDecimal object corresponding to the data type.