com.ibm.as400.access

Class AS400JDBCSQLXML

  • java.lang.Object
    • com.ibm.as400.access.AS400JDBCSQLXML
  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    AS400JDBCSQLXMLLocator


    public class AS400JDBCSQLXML
    extends java.lang.Object
    implements java.io.Serializable
    This class provides the object interface for using XML data through JDBC. The mapping in the Java programming language for the SQL XML type. XML is a built-in type that stores an XML value as a column value in a row of a database table. The SQLXML interface provides methods for accessing the XML value as a String, a Reader or Writer, or as a Stream. This class returns the data as an XML type. The actual type on the host may vary. Instances of this class are created by AS400JDBCConnection. This class should not be used if JDK 1.6 is not in use.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      protected boolean isXML_ 
    • Constructor Summary

      Constructors 
      Modifier Constructor and Description
      protected AS400JDBCSQLXML()
      Constructs an AS400JDBCSQLXML object.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void free()
      This method frees the object and releases the the resources that it holds.
      java.io.InputStream getBinaryStream()
      Retrieves the XML value designated by this SQLXML instance as a stream.
      java.io.Reader getCharacterStream()
      Retrieves the XML value designated by this SQLXML instance as a java.io.Reader object.
      java.lang.String getString()
      Retrieves a string representation of the XML value designated by this SQLXML object.
      java.io.OutputStream setBinaryStream()
      Retrieves a stream that can be used to write the XML value that this SQLXML instance represents.
      java.io.Writer setCharacterStream()
      Retrieves a Writer to be used to write the XML value that this SQLXML instance represents.
      void setString(java.lang.String str)
      Writes the given Java String to the XML value that this SQLXML object designates.
      • Methods inherited from class java.lang.Object

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

      • isXML_

        protected boolean isXML_
    • Constructor Detail

      • AS400JDBCSQLXML

        protected AS400JDBCSQLXML()
        Constructs an AS400JDBCSQLXML object. This is only a dummy constructor used by subclasses.
    • Method Detail

      • getCharacterStream

        public java.io.Reader getCharacterStream()
                                          throws java.sql.SQLException
        Retrieves the XML value designated by this SQLXML instance as a java.io.Reader object. The format of this stream is defined by org.xml.sax.InputSource, where the characters in the stream represent the Unicode code points for XML according to section 2 and appendix B of the XML 1.0 specification. Although an encoding declaration other than Unicode may be present, the encoding of the stream is Unicode. The behavior of this method is the same as ResultSet.getCharacterStream() when the designated column of the ResultSet has a type java.sql.Types of SQLXML.

        The SQL XML object becomes not readable when this method is called and may also become not writable depending on implementation.

        Returns:
        a stream containing the XML data.
        Throws:
        java.sql.SQLException - if there is an error processing the XML value. The getCause() method of the exception may provide a more detailed exception, for example, if the stream does not contain valid characters. An exception is thrown if the state is not readable.
      • getString

        public java.lang.String getString()
                                   throws java.sql.SQLException
        Retrieves a string representation of the XML value designated by this SQLXML object.
        Returns:
        a String that is the string representation of the XML value
        Throws:
        java.sql.SQLException - if there is an error accessing the XML value
      • setString

        public void setString(java.lang.String str)
                       throws java.sql.SQLException
        Writes the given Java String to the XML value that this SQLXML object designates.
        Parameters:
        str - the string to be written to the XML value that this SQLXML designates
        Throws:
        java.sql.SQLException - if there is an error accessing the XML value
      • getBinaryStream

        public java.io.InputStream getBinaryStream()
                                            throws java.sql.SQLException
        Retrieves the XML value designated by this SQLXML instance as a stream.
        Returns:
        a stream containing the XML data.
        Throws:
        java.sql.SQLException - if there is an error processing the XML value. An exception is thrown if the state is not readable.
      • setBinaryStream

        public java.io.OutputStream setBinaryStream()
                                             throws java.sql.SQLException
        Retrieves a stream that can be used to write the XML value that this SQLXML instance represents.
        Returns:
        a stream to which data can be written.
        Throws:
        java.sql.SQLException - if there is an error processing the XML value. An exception is thrown if the state is not writable.
      • setCharacterStream

        public java.io.Writer setCharacterStream()
                                          throws java.sql.SQLException
        Retrieves a Writer to be used to write the XML value that this SQLXML instance represents.
        Returns:
        a stream to which data can be written.
        Throws:
        java.sql.SQLException - if there is an error processing the XML value. The getCause() method of the exception may provide a more detailed exception, for example, if the stream does not contain valid characters. An exception is thrown if the state is not writable.
      • free

        public void free()
                  throws java.sql.SQLException
        This method frees the object and releases the the resources that it holds. The object is invalid once the free method is called. If free is called multiple times, the subsequent calls to free are treated as a no-op.
        Throws:
        java.sql.SQLException - If a database error occurs. if an error occurs releasing the Clob's resources