com.ibm.as400.access

Class AS400Structure

  • java.lang.Object
    • com.ibm.as400.access.AS400Structure
  • All Implemented Interfaces:
    AS400DataType, java.io.Serializable, java.lang.Cloneable


    public class AS400Structure
    extends java.lang.Object
    implements AS400DataType
    Provides a composite data type representing a structure of AS400DataType objects.
    See Also:
    Serialized Form
    • Constructor Detail

      • AS400Structure

        public AS400Structure()
        Constructs an AS400Structure object. The setMembers() method must be called before any conversion methods or getByteLength() on this object.
      • AS400Structure

        public AS400Structure(AS400DataType[] members)
        Constructs an AS400Structure object.
        Parameters:
        members - The data types of the members of the structure.
    • Method Detail

      • clone

        public java.lang.Object clone()
        Creates a new AS400Structure 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. The members of this structure must be set before calling this method.
        Specified by:
        getByteLength in interface AS400DataType
        Returns:
        The number of bytes in the IBM i 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:
        An Object array (Object[]) containing the default values for the members of the structure. The returned array contains one element for each member, in correct sequence.
      • getJavaType

        public java.lang.Class getJavaType()
        Returns the Java class that corresponds with this data type.
        Specified by:
        getJavaType in interface AS400DataType
        Returns:
        Object[].class.
      • getNumberOfMembers

        public int getNumberOfMembers()
        Returns the number of members in the data type.
        Returns:
        The number of members in the structure data type. If the members have not been set, negative one (-1) is returned.
      • getMembers

        public AS400DataType[] getMembers()
        Returns the data types of the members of the structure.
        Returns:
        The data types of the members of the structure. If the members have not been set, null is returned.
      • getMembers

        public AS400DataType getMembers(int index)
        Returns the data type of the member of the structure at the specified index. The member array of this structure must be set before calling this method.
        Parameters:
        index - The index into the structure for the member. It must be greater than or equal to zero and less than or equal to the number of members in the data type.
        Returns:
        The data type of the member of the structure.
      • setMembers

        public void setMembers(AS400DataType[] members)
        Sets the data types of the members of the structure. This method must be called after a call to the null constructor and before a call to any of the conversion methods.
        Parameters:
        members - The data types of the members of the structure.
      • setMembers

        public void setMembers(int index,
                      AS400DataType member)
        Sets the data type of the member of the structure at the specified index. This method must be called after a call to the null constructor and before a call to any of the conversion methods. The member array of this structure must be set before calling this method.
        Parameters:
        index - The index into the structure for the member. It must be greater than or equal to zero and less than or equal to the number of members in the data type.
        member - The data type of the member of the structure.
      • toBytes

        public byte[] toBytes(java.lang.Object javaValue)
        Converts the specified Java object to IBM i format. The members of this structure must be set before calling this method.
        Specified by:
        toBytes in interface AS400DataType
        Parameters:
        javaValue - The object corresponding to the data type. It must be an Object array, the array must contain the correct number of elements, and each element must be of the correct type.
        Returns:
        The IBM i representation of the data type.
      • toBytes

        public int toBytes(java.lang.Object javaValue,
                  byte[] as400Value)
        Converts the specified Java object into IBM i format in the specified byte array. The members of this structure must be set before calling this method.
        Specified by:
        toBytes in interface AS400DataType
        Parameters:
        javaValue - The object corresponding to the data type. It must be an Object array, the array must contain the correct number of elements, and each element must be of the correct type.
        as400Value - 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[] as400Value,
                  int offset)
        Converts the specified Java object into IBM i format in the specified byte array. The members of this structure must be set before calling this method.
        Specified by:
        toBytes in interface AS400DataType
        Parameters:
        javaValue - The object corresponding to the data type. It must be an Object array, the array must contain the correct number of elements, and each element must be of the correct type.
        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.
        Returns:
        The number of bytes in the IBM i representation of the data type.
      • toObject

        public java.lang.Object toObject(byte[] as400Value)
        Converts the specified IBM i data type to a Java object. The members of this structure must be set before calling this method.
        Specified by:
        toObject in interface AS400DataType
        Parameters:
        as400Value - The array containing the data type in IBM i format. The entire data type must be represented.
        Returns:
        The array of Objects. Each element of this array is a Java object of the corresponding type of a member of this AS400Structure object.
      • toObject

        public java.lang.Object toObject(byte[] as400Value,
                                int offset)
        Converts the specified IBM i data type to a Java object. The members of this structure must be set before calling this method.
        Specified by:
        toObject in interface AS400DataType
        Parameters:
        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.
        Returns:
        The array of Objects. Each element of this array is a Java object of the corresponding type of a member of this AS400Structure object.