com.ibm.as400.access
Class AS400ByteArray

java.lang.Object
  extended bycom.ibm.as400.access.AS400ByteArray
All Implemented Interfaces:
AS400DataType, Cloneable, Serializable

public class AS400ByteArray
extends Object
implements AS400DataType

The AS400ByteArray class provides a converter between a byte array and fixed-length byte array representing i5/OS data that is not convertible.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.ibm.as400.access.AS400DataType
TYPE_ARRAY, TYPE_BIN2, TYPE_BIN4, TYPE_BIN8, TYPE_BYTE_ARRAY, TYPE_DECFLOAT, TYPE_FLOAT4, TYPE_FLOAT8, TYPE_PACKED, TYPE_STRUCTURE, TYPE_TEXT, TYPE_UBIN2, TYPE_UBIN4, TYPE_ZONED
 
Constructor Summary
AS400ByteArray(int length)
          Constructs an AS400ByteArray object.
 
Method Summary
 Object clone()
          Creates a new AS400ByteArray object that is identical to the current instance.
 int getByteLength()
          Returns the byte length of the data type.
 Object getDefaultValue()
          Returns a Java object representing the default value of the data type.
 int getInstanceType()
          Returns TYPE_BYTE_ARRAY.
 Class getJavaType()
          Returns the Java class that corresponds with this data type.
 byte[] toBytes(Object javaValue)
          Converts the specified Java object to i5/OS format.
 int toBytes(Object javaValue, byte[] as400Value)
          Converts the specified Java object into i5/OS format in the specified byte array.
 int toBytes(Object javaValue, byte[] as400Value, int offset)
          Converts the specified Java object into i5/OS format in the specified byte array.
 Object toObject(byte[] as400Value)
          Converts the specified i5/OS data type to a Java object.
 Object toObject(byte[] as400Value, int offset)
          Converts the specified i5/OS 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

AS400ByteArray

public AS400ByteArray(int length)
Constructs an AS400ByteArray object.

Parameters:
length - The byte length of the i5/OS byte array. It must be greater than or equal to zero.
Method Detail

clone

public Object clone()
Creates a new AS400ByteArray object that is identical to the current instance.

Specified by:
clone in interface AS400DataType
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 i5/OS representation of the data type.

getDefaultValue

public Object getDefaultValue()
Returns a Java object representing the default value of the data type.

Specified by:
getDefaultValue in interface AS400DataType
Returns:
The zero length byte array.

getInstanceType

public int getInstanceType()
Returns TYPE_BYTE_ARRAY.

Specified by:
getInstanceType in interface AS400DataType
Returns:
AS400DataType.TYPE_BYTE_ARRAY.

getJavaType

public Class getJavaType()
Returns the Java class that corresponds with this data type.

Specified by:
getJavaType in interface AS400DataType
Returns:
byte[].class.

toBytes

public byte[] toBytes(Object javaValue)
Converts the specified Java object to i5/OS format.

Specified by:
toBytes in interface AS400DataType
Parameters:
javaValue - The object corresponding to the data type. It must be a byte array. If the provided byte array is not long enough to fill the return array, the remaining bytes will be zero filled. Any extra bytes in the provided array will not be used.
Returns:
The i5/OS representation of the data type.

toBytes

public int toBytes(Object javaValue,
                   byte[] as400Value)
Converts the specified Java object into i5/OS format in the specified byte array.

Specified by:
toBytes in interface AS400DataType
Parameters:
javaValue - The object corresponding to the data type. It must be a byte array. If the provided byte array is not long enough to fill the return array, the remaining bytes will be zero filled. Any extra bytes in the provided array will not be used.
as400Value - The array to receive the data type in i5/OS format. There must be enough space to hold the value.
Returns:
The number of bytes in the i5/OS representation of the data type.

toBytes

public int toBytes(Object javaValue,
                   byte[] as400Value,
                   int offset)
Converts the specified Java object into i5/OS format in the specified byte array.

Specified by:
toBytes in interface AS400DataType
Parameters:
javaValue - The object corresponding to the data type. It must be a byte array. If the provided byte array is not long enough to fill the return array, the remaining bytes will be zero filled. Any extra bytes in the provided array will not be used.
as400Value - The array to receive the data type in i5/OS format. There must be enough space to hold the value.
offset - The offset into the byte array for the start of the i5/OS value. It must be greater than or equal to zero.
Returns:
The number of bytes in the i5/OS representation of the data type.

toObject

public Object toObject(byte[] as400Value)
Converts the specified i5/OS data type to a Java object.

Specified by:
toObject in interface AS400DataType
Parameters:
as400Value - The array containing the data type in i5/OS format. The entire data type must be represented.
Returns:
The byte array corresponding to the data type.

toObject

public Object toObject(byte[] as400Value,
                       int offset)
Converts the specified i5/OS data type to a Java object.

Specified by:
toObject in interface AS400DataType
Parameters:
as400Value - The array containing the data type in i5/OS format. The entire data type must be represented.
offset - The offset into the byte array for the start of the i5/OS value. It must be greater than or equal to zero.
Returns:
The byte array corresponding to the data type.