com.ibm.as400.access
Class AS400Text
- java.lang.Object
-
- com.ibm.as400.access.AS400Text
-
- All Implemented Interfaces:
- AS400DataType, java.io.Serializable, java.lang.Cloneable
public class AS400Text extends java.lang.Object implements AS400DataType
Provides character set conversion between Java String objects and IBM i code pages.- See Also:
CharConverter
, Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.ibm.as400.access.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 Summary
Constructors Constructor and Description AS400Text(int length)
Constructs an AS400Text object.AS400Text(int length, AS400 system)
Constructs an AS400Text object.AS400Text(int length, int ccsid)
Constructs an AS400Text object.AS400Text(int length, int ccsid, AS400 system)
Constructs an AS400Text object.AS400Text(int length, java.lang.String encoding)
Constructs AS400Text object.
-
Method Summary
Methods Modifier and Type Method and Description java.lang.Object
clone()
Creates a new AS400Text object that is identical to the current instance.int
getByteLength()
Returns the byte length of the data type.int
getCcsid()
Returns the CCSID of the data type.java.lang.Object
getDefaultValue()
Returns a Java object representing the default value of the data type.java.lang.String
getEncoding()
Returns the encoding of the data type.int
getInstanceType()
ReturnsTYPE_TEXT
.java.lang.Class
getJavaType()
Returns the Java class that corresponds with this data type.byte[]
toBytes(java.lang.Object javaValue)
Converts the specified Java object to IBM i format.int
toBytes(java.lang.Object javaValue, byte[] serverValue)
Converts the specified Java object into IBM i format in the specified byte array.int
toBytes(java.lang.Object javaValue, byte[] serverValue, int offset)
Converts the specified Java object into IBM i format in the specified byte array.int
toBytes(java.lang.Object javaValue, byte[] serverValue, int offset, BidiConversionProperties properties)
Converts the specified Java object into IBM i format in the specified byte array.int
toBytes(java.lang.Object javaValue, byte[] serverValue, int offset, int type)
Converts the specified Java object into IBM i format in the specified byte array.java.lang.Object
toObject(byte[] serverValue)
Converts the specified IBM i data type to a Java object.java.lang.Object
toObject(byte[] serverValue, int offset)
Converts the specified IBM i data type to a Java object.java.lang.Object
toObject(byte[] serverValue, int offset, BidiConversionProperties properties)
Converts the specified IBM i data type to a Java object.java.lang.Object
toObject(byte[] serverValue, int offset, int type)
Converts the specified IBM i data type to a Java object.
-
-
-
Constructor Detail
-
AS400Text
public AS400Text(int length)
Constructs an AS400Text object. It uses the most likely CCSID based on the default locale.- Parameters:
length
- The byte length of the IBM i text. It must be greater than or equal to zero.
-
AS400Text
public AS400Text(int length, int ccsid)
Constructs an AS400Text object.- Parameters:
length
- The byte length of the IBM i text. It must be greater than or equal to zero.ccsid
- The CCSID of the IBM i text. It must refer to a valid and available CCSID. The value 65535 will cause the data type to use the most likely CCSID based on the default locale.
-
AS400Text
public AS400Text(int length, java.lang.String encoding)
Constructs AS400Text object.- Parameters:
length
- The byte length of the IBM i text. It must be greater than or equal to zero.encoding
- The name of a character encoding. It must be a valid and available encoding.
-
AS400Text
public AS400Text(int length, AS400 system)
Constructs an AS400Text object. The CCSID used for conversion will be the CCSID of the system object.- Parameters:
length
- The byte length of the IBM i text. It must be greater than or equal to zero.system
- The system with which to determine the CCSID.
-
AS400Text
public AS400Text(int length, int ccsid, AS400 system)
Constructs an AS400Text object.- Parameters:
length
- The byte length of the IBM i text. It must be greater than or equal to zero.ccsid
- The CCSID of the IBM i text. It must refer to a valid and available CCSID. The value 65535 will cause the data type to use the most likely CCSID based on the default locale.system
- The system from which the conversion table may be downloaded.
-
-
Method Detail
-
clone
public java.lang.Object clone()
Creates a new AS400Text object that is identical to the current instance.- Specified by:
clone
in interfaceAS400DataType
- Overrides:
clone
in classjava.lang.Object
- Returns:
- The new object.
-
getByteLength
public int getByteLength()
Returns the byte length of the data type.- Specified by:
getByteLength
in interfaceAS400DataType
- Returns:
- The number of bytes in the IBM i representation of the data type.
-
getCcsid
public int getCcsid()
Returns the CCSID of the data type.- Returns:
- The CCSID.
-
getDefaultValue
public java.lang.Object getDefaultValue()
Returns a Java object representing the default value of the data type.- Specified by:
getDefaultValue
in interfaceAS400DataType
- Returns:
- The String object representing an empty string ("").
-
getEncoding
public java.lang.String getEncoding()
Returns the encoding of the data type.- Returns:
- The encoding of the data type.
-
getInstanceType
public int getInstanceType()
ReturnsTYPE_TEXT
.- Specified by:
getInstanceType
in interfaceAS400DataType
- Returns:
- AS400DataType.TYPE_TEXT.
-
getJavaType
public java.lang.Class getJavaType()
Returns the Java class that corresponds with this data type.- Specified by:
getJavaType
in interfaceAS400DataType
- Returns:
- String.class.
-
toBytes
public byte[] toBytes(java.lang.Object javaValue)
Converts the specified Java object to IBM i format.- Specified by:
toBytes
in interfaceAS400DataType
- Parameters:
javaValue
- The object corresponding to the data type. It must be an instance of String, and the converted text length must be less than or equal to the byte length of this data type. If the provided string is not long enough to fill the return array, the remaining bytes will be padded with space bytes (EBCDIC 0x40, ASCII 0x20, or Unicode 0x0020).- Returns:
- The IBM i representation of the data type.
-
toBytes
public int toBytes(java.lang.Object javaValue, byte[] serverValue)
Converts the specified Java object into IBM i format in the specified byte array.- Specified by:
toBytes
in interfaceAS400DataType
- Parameters:
javaValue
- The object corresponding to the data type. It must be an instance of String, and the converted text length must be less than or equal to the byte length of this data type. If the provided string is not long enough to fill the return array, the remaining bytes will be padded with space bytes (EBCDIC 0x40, ASCII 0x20, or Unicode 0x0020).serverValue
- The array to receive the data type in IBM i format. There must be enough space to hold the IBM i value.- Returns:
- The number of bytes in the IBM i representation of the data type.
-
toBytes
public int toBytes(java.lang.Object javaValue, byte[] serverValue, int offset)
Converts the specified Java object into IBM i format in the specified byte array.- Specified by:
toBytes
in interfaceAS400DataType
- Parameters:
javaValue
- The object corresponding to the data type. It must be an instance of String, and the converted text length must be less than or equal to the byte length of this data type. If the provided string is not long enough to fill the return array, the remaining bytes will be padded with space bytes (EBCDIC 0x40, ASCII 0x20, or Unicode 0x0020).serverValue
- 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.- Returns:
- The number of bytes in the IBM i representation of the data type.
-
toBytes
public int toBytes(java.lang.Object javaValue, byte[] serverValue, int offset, int type)
Converts the specified Java object into IBM i format in the specified byte array.- Parameters:
javaValue
- The object corresponding to the data type. It must be an instance of String, and the converted text length must be less than or equal to the byte length of this data type. If the provided string is not long enough to fill the return array, the remaining bytes will be padded with space bytes (EBCDIC 0x40, ASCII 0x20, or Unicode 0x0020).serverValue
- 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.type
- The bidi string type, as defined by the CDRA (Character Data Representation Architecture). See BidiStringType for more information and valid values.- Returns:
- The number of bytes in the IBM i representation of the data type.
- See Also:
BidiStringType
-
toBytes
public int toBytes(java.lang.Object javaValue, byte[] serverValue, int offset, BidiConversionProperties properties)
Converts the specified Java object into IBM i format in the specified byte array.- Parameters:
javaValue
- The object corresponding to the data type. It must be an instance of String, and the converted text length must be less than or equal to the byte length of this data type. If the provided string is not long enough to fill the return array, the remaining bytes will be padded with space bytes (EBCDIC 0x40, ASCII 0x20, or Unicode 0x0020).serverValue
- 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.properties
- The bidi conversion properties.- Returns:
- The number of bytes in the IBM i representation of the data type.
-
toObject
public java.lang.Object toObject(byte[] serverValue)
Converts the specified IBM i data type to a Java object.- Specified by:
toObject
in interfaceAS400DataType
- Parameters:
serverValue
- The array containing the data type in IBM i format. The entire data type must be represented.- Returns:
- The String object corresponding to the data type.
-
toObject
public java.lang.Object toObject(byte[] serverValue, int offset)
Converts the specified IBM i data type to a Java object.- Specified by:
toObject
in interfaceAS400DataType
- Parameters:
serverValue
- 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.- Returns:
- The String object corresponding to the data type.
-
toObject
public java.lang.Object toObject(byte[] serverValue, int offset, int type)
Converts the specified IBM i data type to a Java object.- Parameters:
serverValue
- 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.type
- The bidi string type, as defined by the CDRA (Character Data Representation Architecture). See BidiStringType for more information and valid values.- Returns:
- The String object corresponding to the data type.
- See Also:
BidiStringType
-
toObject
public java.lang.Object toObject(byte[] serverValue, int offset, BidiConversionProperties properties)
Converts the specified IBM i data type to a Java object.- Parameters:
serverValue
- 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.properties
- The bidi conversion properties.- Returns:
- The String object corresponding to the data type.
-
-