com.ibm.as400.access

Class CharacterDataArea

  • All Implemented Interfaces:
    java.io.Serializable


    public class CharacterDataArea
    extends DataArea
    implements java.io.Serializable
    The CharacterDataArea class represents a character data area on the system.

    The following example demonstrates the use of CharacterDataArea:

    // Prepare to work with the system named "My400".
    AS400 system = new AS400("My400");
    
    // Create a CharacterDataArea object.
    QSYSObjectPathName path = new QSYSObjectPathName("MYLIB", "MYDATA", "DTAARA");
    CharacterDataArea dataArea = new CharacterDataArea(system, path.getPath());
    
    // Create the character data area on the system using default values.
    dataArea.create();
    
    // Clear the data area.
    dataArea.clear();
    
    // Write to the data area.
    dataArea.write("Hello world");
    
    // Read from the data area.
    String data = dataArea.read();
    
    // Delete the data area from the system.
    dataArea.delete();
    

    Note: Most of the read() and write() methods of this class automatically convert characters between Unicode and the CCSID associated with the AS400 object. See AS400.getCcsid().

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor and Description
      CharacterDataArea()
      Constructs a CharacterDataArea object.
      CharacterDataArea(AS400 system, java.lang.String path)
      Constructs a CharacterDataArea object.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void clear()
      Resets the data area to contain all blanks.
      void create()
      Creates a character data area on the system.
      void create(int length, java.lang.String initialValue, java.lang.String textDescription, java.lang.String authority)
      Creates a character data area with the specified attributes.
      void delete()
      Removes the data area from the system.
      java.lang.String getPath()
      Returns the integrated file system path name of the object represented by the data area.
      java.lang.String read()
      Reads the data from the data area.
      int read(byte[] dataBuffer, int dataBufferOffset, int dataAreaOffset, int dataLength)
      Reads the data from the data area.
      java.lang.String read(int type)
      Reads the data from the data area.
      java.lang.String read(int dataAreaOffset, int dataLength)
      Reads the data from the data area.
      java.lang.String read(int dataAreaOffset, int dataLength, int type)
      Reads the data from the data area.
      void setPath(java.lang.String path)
      Sets the fully qualified data area name.
      void write(byte[] dataBuffer, int dataBufferOffset, int dataAreaOffset, int dataLength)
      Writes the data to the data area.
      void write(java.lang.String data)
      Writes the data to the data area.
      void write(java.lang.String data, int dataAreaOffset)
      Writes the data to the data area.
      void write(java.lang.String data, int dataAreaOffset, int type)
      Writes the data to the data area.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CharacterDataArea

        public CharacterDataArea()
        Constructs a CharacterDataArea object. It creates a default CharacterDataArea object. The system and path properties must be set before attempting a connection.
      • CharacterDataArea

        public CharacterDataArea(AS400 system,
                         java.lang.String path)
        Constructs a CharacterDataArea object. It creates a CharacterDataArea instance that represents the data area path on system.
        Parameters:
        system - The system that contains the data area.
        path - The fully qualified integrated file system path name. The integrated file system file extension for a data area is DTAARA. An example of a fully qualified integrated file system path to a data area "MYDATA" in library "MYLIB" is: /QSYS.LIB/MYLIB.LIB/MYDATA.DTAARA
    • Method Detail

      • create

        public void create(int length,
                  java.lang.String initialValue,
                  java.lang.String textDescription,
                  java.lang.String authority)
                    throws AS400SecurityException,
                           ErrorCompletingRequestException,
                           java.lang.InterruptedException,
                           java.io.IOException,
                           ObjectAlreadyExistsException,
                           ObjectDoesNotExistException
        Creates a character data area with the specified attributes.
        Parameters:
        length - The maximum number of bytes in the data area. Valid values are 1 through 2000.
        initialValue - The initial value for the data area.
        textDescription - The text description for the data area. The maximum length is 50 characters.
        authority - The public authority level for the data area. Valid values are *ALL, *CHANGE, *EXCLUDE, *LIBCRTAUT, *USE, or the name of an authorization list. The maximum length is 10 characters.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectAlreadyExistsException - If the system object already exists.
        ObjectDoesNotExistException - If the system object does not exist.
      • getPath

        public java.lang.String getPath()
        Returns the integrated file system path name of the object represented by the data area.
        Returns:
        The integrated file system path name of the object represented by the data area.
      • read

        public java.lang.String read(int dataAreaOffset,
                            int dataLength)
                              throws AS400SecurityException,
                                     ErrorCompletingRequestException,
                                     IllegalObjectTypeException,
                                     java.lang.InterruptedException,
                                     java.io.IOException,
                                     ObjectDoesNotExistException
        Reads the data from the data area. It retrieves dataLength characters (or fewer if multi-byte characters) beginning at dataAreaOffset in the data area. The first character in the data area is at offset 0.
        Parameters:
        dataAreaOffset - The offset in the data area at which to start reading.
        dataLength - The number of bytes to read. Valid values are from 1 through (data area size - dataAreaOffset).
        Returns:
        The data read from the data area.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        IllegalObjectTypeException - If the system object is not the required type.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the system object does not exist.
      • read

        public java.lang.String read(int dataAreaOffset,
                            int dataLength,
                            int type)
                              throws AS400SecurityException,
                                     ErrorCompletingRequestException,
                                     IllegalObjectTypeException,
                                     java.lang.InterruptedException,
                                     java.io.IOException,
                                     ObjectDoesNotExistException
        Reads the data from the data area. It retrieves dataLength characters (or fewer if multi-byte characters) beginning at dataAreaOffset in the data area. The first character in the data area is at offset 0.
        Parameters:
        dataAreaOffset - The offset in the data area at which to start reading.
        dataLength - The number of bytes to read. Valid values are from 1 through (data area size - dataAreaOffset).
        type - The Data Area bidi string type, as defined by the CDRA (Character Data Representation Architecture). See BidiStringType for more information and valid values.
        Returns:
        The data read from the data area.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        IllegalObjectTypeException - If the system object is not the required type.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the system object does not exist.
      • read

        public int read(byte[] dataBuffer,
               int dataBufferOffset,
               int dataAreaOffset,
               int dataLength)
                 throws AS400SecurityException,
                        ErrorCompletingRequestException,
                        IllegalObjectTypeException,
                        java.lang.InterruptedException,
                        java.io.IOException,
                        ObjectDoesNotExistException
        Reads the data from the data area. It retrieves up to dataLength bytes, without conversion, beginning at offset dataAreaOffset in the data area. Note that the first byte in the data area is at offset 0.
        Parameters:
        dataBuffer - The buffer into which to read the data. Must be non-null.
        dataBufferOffset - The starting offset in dataBuffer.
        dataAreaOffset - The offset in the data area at which to start reading.
        dataLength - The number of bytes to read. Valid values are from 1 through (data area size - dataAreaOffset).
        Returns:
        The total number of bytes read into the buffer.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        IllegalObjectTypeException - If the system object is not the required type.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the system object does not exist.
        See Also:
        write(byte[],int,int,int)
      • setPath

        public void setPath(java.lang.String path)
                     throws java.beans.PropertyVetoException
        Sets the fully qualified data area name. The following example demonstrates the use of setPath:
           // Create a CharacterDataArea object.
           CharacterDataArea dataArea = new CharacterDataArea();
        
           // Set its path to be the data area "MYDATA" in the library "MYLIB".
           dataArea.setPath("/QSYS.LIB/MYLIB.LIB/MYDATA.DTAARA");
           
        Parameters:
        path - The fully qualified integrated file system path name of the data area.
        Throws:
        java.beans.PropertyVetoException - If the change is vetoed.
      • write

        public void write(java.lang.String data,
                 int dataAreaOffset)
                   throws AS400SecurityException,
                          ErrorCompletingRequestException,
                          java.lang.InterruptedException,
                          java.io.IOException,
                          ObjectDoesNotExistException
        Writes the data to the data area. It writes data.length() characters from data to the data area beginning at dataAreaOffset. The first character in the data area is at offset 0.
        Parameters:
        data - The data to be written.
        dataAreaOffset - The offset in the data area at which to start writing.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the system object does not exist.
      • write

        public void write(java.lang.String data,
                 int dataAreaOffset,
                 int type)
                   throws AS400SecurityException,
                          ErrorCompletingRequestException,
                          java.lang.InterruptedException,
                          java.io.IOException,
                          ObjectDoesNotExistException
        Writes the data to the data area. It writes data.length() characters from data to the data area beginning at dataAreaOffset. The first character in the data area is at offset 0.
        Parameters:
        data - The data to be written.
        dataAreaOffset - The offset in the data area at which to start writing.
        type - The Data Area bidi string type, as defined by the CDRA (Character Data Representation Architecture). See BidiStringType for more information and valid values.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the system object does not exist.
      • write

        public void write(byte[] dataBuffer,
                 int dataBufferOffset,
                 int dataAreaOffset,
                 int dataLength)
                   throws AS400SecurityException,
                          ErrorCompletingRequestException,
                          java.lang.InterruptedException,
                          java.io.IOException,
                          ObjectDoesNotExistException
        Writes the data to the data area. It writes the specified bytes, without conversion, to the data area, at offset dataAreaOffset. Note that the first byte in the data area is at offset 0.
        Parameters:
        dataBuffer - The data to be written. Must be non-null.
        dataBufferOffset - The starting offset in dataBuffer.
        dataAreaOffset - The offset in the data area at which to start writing.
        dataLength - The number of bytes to write.
        Throws:
        AS400SecurityException - If a security or authority error occurs.
        ErrorCompletingRequestException - If an error occurs before the request is completed.
        java.lang.InterruptedException - If this thread is interrupted.
        java.io.IOException - If an error occurs while communicating with the system.
        ObjectDoesNotExistException - If the system object does not exist.