com.ibm.as400.access
Class AS400Text

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

public class AS400Text
extends java.lang.Object
implements AS400DataType

The AS400Text class provides character set conversion between Java String objects and AS/400 native code pages.

Note that in the past few releases, several constructors were deprecated because they did not accept an AS400 system object as an argument. Due to recent changes in the behavior of the character conversion routines, this system object is no longer necessary, except when the AS400Text object is to be passed as a parameter on a Toolbox Proxy connection. Since this case is extremely rare, it is more beneficial not to have the constructors issue deprecation warnings.

See Also:
CharConverter, Serialized Form

Fields inherited from interface com.ibm.as400.access.AS400DataType
serialVersionUID
 
Constructor Summary
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
 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.
 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.
 int toBytes(java.lang.Object javaValue, byte[] as400Value, int offset, int type)
          Converts the specified Java object into AS/400 format in the specified byte array.
 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.
 java.lang.Object toObject(byte[] as400Value, int offset, int type)
          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

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 AS/400 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 AS/400 text. It must be greater than or equal to zero.
ccsid - The CCSID of the AS/400 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 AS/400 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 AS/400 text. It must be greater than or equal to zero.
system - The AS/400 system from which the conversion table may be downloaded.

AS400Text

public AS400Text(int length,
                 int ccsid,
                 AS400 system)
Constructs an AS400Text object.
Parameters:
length - The byte length of the AS/400 text. It must be greater than or equal to zero.
ccsid - The CCSID of the AS/400 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 AS/400 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 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.

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 interface AS400DataType
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.

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 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 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 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).
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 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).
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 int toBytes(java.lang.Object javaValue,
                   byte[] as400Value,
                   int offset,
                   int type)
Converts the specified Java object into AS/400 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).
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.
type - The bidi string type, as defined by the CDRA (Character Data Representataion Architecture). See BidiStringType for more information and valid values.
Returns:
The number of bytes in the AS/400 representation of the data type.
See Also:
BidiStringType

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 String 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 String object corresponding to the data type.

toObject

public java.lang.Object toObject(byte[] as400Value,
                                 int offset,
                                 int type)
Converts the specified AS/400 data type to a Java object.
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.
type - The bidi string type, as defined by the CDRA (Character Data Representataion Architecture). See BidiStringType for more information and valid values.
Returns:
The String object corresponding to the data type.
See Also:
BidiStringType