public class AS400PackedDecimal extends java.lang.Object implements AS400DataType
TYPE_ARRAY, TYPE_BIN1, TYPE_BIN2, TYPE_BIN4, TYPE_BIN8, TYPE_BYTE_ARRAY, TYPE_DATE, TYPE_DECFLOAT, TYPE_FLOAT4, TYPE_FLOAT8, TYPE_PACKED, TYPE_STRUCTURE, TYPE_TEXT, TYPE_TIME, TYPE_TIME_OF_DAY, TYPE_TIMESTAMP, TYPE_UBIN1, TYPE_UBIN2, TYPE_UBIN4, TYPE_UBIN8, TYPE_VARCHAR, TYPE_ZONED
Constructor and Description |
---|
AS400PackedDecimal(int numDigits,
int numDecimalPositions)
Constructs an AS400PackedDecimal object.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Creates a new AS400PackedDecimal 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 |
getInstanceType()
Returns
TYPE_PACKED . |
java.lang.Class |
getJavaType()
Returns the Java class that corresponds with this data type.
|
int |
getNumberOfDecimalPositions()
Returns the number of decimal positions in the packed decimal number.
|
int |
getNumberOfDigits()
Returns the total number of digits in the packed decimal number.
|
boolean |
isUseDouble()
|
void |
setUseDouble(boolean b)
|
byte[] |
toBytes(double doubleValue)
Converts the specified Java object to IBM i format.
|
int |
toBytes(double doubleValue,
byte[] as400Value)
Converts the specified Java object into IBM i format in
the specified byte array.
|
int |
toBytes(double doubleValue,
byte[] as400Value,
int offset)
Converts the specified Java object into IBM i format in
the specified byte array.
|
byte[] |
toBytes(java.lang.Object javaValue)
Converts the specified Java object to IBM i format.
|
int |
toBytes(java.lang.Object javaValue,
byte[] as400Value)
Converts the specified Java object into IBM i format in the specified byte array.
|
int |
toBytes(java.lang.Object javaValue,
byte[] as400Value,
int offset)
Converts the specified Java object into IBM i format in the specified byte array.
|
double |
toDouble(byte[] as400Value)
Converts the specified IBM i data type to a Java double value.
|
double |
toDouble(byte[] as400Value,
int offset)
Converts the specified IBM i data type to a Java double value.
|
java.lang.Object |
toObject(byte[] as400Value)
Converts the specified IBM i data type to a Java object.
|
java.lang.Object |
toObject(byte[] as400Value,
int offset)
Converts the specified IBM i data type to a Java object.
|
java.lang.Object |
toObject(byte[] as400Value,
int offset,
boolean ignoreErrors) |
public AS400PackedDecimal(int numDigits, int numDecimalPositions)
numDigits
- The number of digits in the packed 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 packed decimal number. It must be greater than or equal to zero and less than or equal to numDigits.public java.lang.Object clone()
clone
in interface AS400DataType
clone
in class java.lang.Object
public int getByteLength()
getByteLength
in interface AS400DataType
public java.lang.Object getDefaultValue()
getDefaultValue
in interface AS400DataType
public int getInstanceType()
TYPE_PACKED
.getInstanceType
in interface AS400DataType
public java.lang.Class getJavaType()
getJavaType
in interface AS400DataType
public int getNumberOfDigits()
public int getNumberOfDecimalPositions()
public boolean isUseDouble()
public void setUseDouble(boolean b)
b
- AS400ZonedDecimal.setUseDouble(boolean)
public byte[] toBytes(java.lang.Object javaValue)
toBytes
in interface AS400DataType
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.public int toBytes(java.lang.Object javaValue, byte[] as400Value)
toBytes
in interface AS400DataType
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 IBM i format. There must be enough space to hold the IBM i value.public int toBytes(java.lang.Object javaValue, byte[] as400Value, int offset)
toBytes
in interface AS400DataType
javaValue
- An 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 IBM i format. There must be enough space to hold the IBM i value.offset
- The offset into the byte array for the start of the IBM i value. It must be greater than or equal to zero.public byte[] toBytes(double doubleValue)
doubleValue
- The value to be converted to IBM i 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.public int toBytes(double doubleValue, byte[] as400Value)
doubleValue
- The value to be converted to IBM i 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 IBM i format. There must
be enough space to hold the IBM i value.public int toBytes(double doubleValue, byte[] as400Value, int offset)
doubleValue
- The value to be converted to IBM i 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 IBM i format.
There must be enough space to hold the IBM i value.offset
- The offset into the byte array for the start of the IBM i value.
It must be greater than or equal to zero.public double toDouble(byte[] as400Value)
as400Value
- The array containing the data type in IBM i format.
The entire data type must be represented.public double toDouble(byte[] as400Value, int offset)
as400Value
- The array containing the data type in IBM i format.
The entire data type must be represented.offset
- The offset into the byte array for the start of the IBM i value.
It must be greater than or equal to zero.public java.lang.Object toObject(byte[] as400Value)
toObject
in interface AS400DataType
as400Value
- The array containing the data type in IBM i format. The entire data type must be represented.public java.lang.Object toObject(byte[] as400Value, int offset)
toObject
in interface AS400DataType
as400Value
- The array containing the data type in IBM i format. The entire data type must be represented and the data type must have valid packed decimal format.offset
- The offset into the byte array for the start of the IBM i value. It must be greater than or equal to zero.public java.lang.Object toObject(byte[] as400Value, int offset, boolean ignoreErrors)