<html> <head> <title>Interface XSQLData</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="XSQLData-xref.html" class="navimain">Use</a></td> <td class="navimainnone">Devguide</td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td> <td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td> <td class="navisub">Attributes' Summary</td> <td class="navisub">Attributes' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">sdbc</a> :: </p> </td> </tr> <tr> <td class="title">interface XSQLData</td> </tr> <tr> <td/></tr> <tr> <td><dl> <dt><b>Description</b></dt> <dd>is used for the custom mapping of SQL user-defined types. </dd> <dd><p> This interface must be implemented by a service that is registered in a type mapping. It is expected that this interface will normally be implemented by a tool. The methods in this interface are called by the driver and are never called by a programmer directly. </p> </dd> </dl> </td> </tr> </table> <hr> <a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Methods' Summary</td> </tr> <tr> <td class="imsum_left"><a href="#getSQLTypeName">getSQLTypeName</a></td> <td class="imsum_right">returns the fully-qualified name of the SQL user-defined type that this object represents. </td> </tr> <tr> <td class="imsum_left"><a href="#readSQL">readSQL</a></td> <td class="imsum_right">populates this object with data read from the database. </td> </tr> <tr> <td class="imsum_left"><a href="#writeSQL">writeSQL</a></td> <td class="imsum_right">writes this object to the given SQL data stream. </td> </tr> </table> <a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle">Methods' Details</td> </tr> <tr> <td class="imdetail"><a name="getSQLTypeName" class="membertitle">getSQLTypeName</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">string</td> </tr> <tr> <td valign="top"><b>getSQLTypeName</b>()</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="SQLException.html">SQLException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>returns the fully-qualified name of the SQL user-defined type that this object represents. </dd> <dd><p> This method is called by the SDBC driver to get the name of the UDT instance that is being mapped to this instance of SQLData. </p> </dd> <dt><b>Returns</b></dt> <dd>the name of the SQL type. </dd> <dt><b>Throws</b></dt> <dd>SQLException if a database access error occurs. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="readSQL" class="membertitle">readSQL</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>readSQL</b>(</td> <td valign="top">[in] <a href="XSQLInput.html">XSQLInput</a></td> <td valign="bottom"> stream,</td> </tr> <tr> <td/><td valign="top">[in] string</td> <td valign="bottom"> typeName )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="SQLException.html">SQLException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>populates this object with data read from the database. </dd> <dd><p> The implementation of the method must follow this protocol: <br/> It must read each of the attributes or elements of the SQL type from the given input stream. This is done by calling a method of the input stream to read each item, in the order that they appear in the SQL definition of the type. The method <code>readSQL</code> then assigns the data to appropriate fields or elements (of this or other objects). <br/> Specifically, it must call the appropriate <code>XSQLInput.readXXX</code> method(s) to do the following: for a Distinct Type, read its single data element; for a Structured Type, read a value for each attribute of the SQL type. </p> <p> The SDBC driver initializes the input stream with a type map before calling this method, which is used by the appropriate <code>SQLInput.readXXX</code> method on the stream. </p> </dd> <dt><b>Parameter stream</b></dt> <dd>the input SQL data stream </dd> <dt><b>Parameter typeName</b></dt> <dd>the SQL type of the value on the data stream </dd> <dt><b>Throws</b></dt> <dd>SQLException if a database access error occurs. </dd> <dt><b>See also</b></dt> <dd><a href="XSQLInput.html">XSQLInput</a></dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="writeSQL" class="membertitle">writeSQL</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>writeSQL</b>(</td> <td valign="top">[in] <a href="XSQLOutput.html">XSQLOutput</a></td> <td valign="bottom"> stream )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="SQLException.html">SQLException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>writes this object to the given SQL data stream. </dd> <dd><p> The implementation of the method must follow this protocol: <br/> It must write each of the attributes of the SQL type to the given output stream. This is done by calling a method of the output stream to write each item, in the order that they appear in the SQL definition of the type. Specifically, it must call the appropriate <code>XSQLOutput.writeXXX</code> method(s) to do the following:<br> for a Distinct Type, write its single data element; for a Structured Type, write a value for each attribute of the SQL type. </p> </dd> <dt><b>Parameter stream</b></dt> <dd>the output SQL data stream </dd> <dt><b>Throws</b></dt> <dd>SQLException if a database access error occurs. </dd> <dt><b>See also</b></dt> <dd><a href="XSQLOutput.html">XSQLOutput</a></dd> </dl> </td> </tr> </table> </td> </tr> </table> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2008 Sun Microsystems, Inc.</p> </div> <!-- id="adc-idlref" --> </body> </html>