<html> <head> <title>Interface XDynamicResultSet</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="XDynamicResultSet-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">Attributes' Summary</td> <td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></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">ucb</a> :: </p> </td> </tr> <tr> <td class="title">interface XDynamicResultSet</td> </tr> <tr> <td><dl> <dt><b>Base Interfaces</b></dt> <dd><pre style="font-family:monospace;"><strong>XDynamicResultSet</strong> ┗ ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a> </pre></dd> <dd><a name/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="crosstitle"> <tr> <td class="imsum_left">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a></td> <td class="imsum_right"><dl> <dt>(referenced interface's summary:)</dt> <dd>allows to exclicitly free resources and break cyclic references. </dd> </dl> </td> </tr> </table> </dd> </dl> </td> </tr> <tr> <td><dl> <dt><b>Description</b></dt> <dd>Provides read access to a <a href="ContentResultSet.html">ContentResultSet</a>. </dd> <dd><p> You can either get a simple static <a href="ContentResultSet.html">ContentResultSet</a> or you can listen to change-notifications and than swap from the old to a new <a href="ContentResultSet.html">ContentResultSet</a>. </p> <p>The following describes the dynamic use:</p> <p> <a href="XDynamicResultSet.html">XDynamicResultSet</a> provides the possibility to get notifications about changes on a <a href="ContentResultSet.html">ContentResultSet</a> and have an listener-controlled update from one version to the next version. Two <a href="ContentResultSet.html">ContentResultSet</a> implementations were given to the listener in the first notification as interface ::com::sun::star::<a href="../sdbc/module-ix.html">sdbc</a>::<a href="../sdbc/XResultSet.html">XResultSet</a>. </p> <p> To get notifications the listener has to be of type <a href="XDynamicResultSetListener.html">XDynamicResultSetListener</a>. </p> <p> After registration you will get notifications for events of type <a href="ListEvent.html">ListEvent</a>. </p> <p> The calling of <a href="XDynamicResultSetListener.html">XDynamicResultSetListener</a>::<a href="XDynamicResultSetListener.html#notify">notify</a> has to happen in an own thread, because it could take a longer time and any actions til the listener returns the call. So don't block the notify-causing action. </p> <p> While one notify-call is going on: </p> <ol> <li> The listener is allowed to access both <a href="ContentResultSet.html">ContentResultSet</a>s, they must be both valid.</li> <li> It is not allowed to start a second notify-call.</li> <li> All addditional things we want to send as notification are to be queued.</li> <li> Any other calls are to be accepted and treated.</li> </ol> <p> After the listener has returned the notify-call: </p> <ol> <li> The listener is allowed to access the new <a href="ContentResultSet.html">ContentResultSet</a>. The new one is first assigned in the WELCOME-event and than the ResultSets are always swapped.</li> <li> The listener is not allowed to access the old <a href="ContentResultSet.html">ContentResultSet</a>.</li> </ol> </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="#getStaticResultSet">getStaticResultSet</a></td> <td class="imsum_right">Call this, if you don't care about any changes. </td> </tr> <tr> <td class="imsum_left"><a href="#setListener">setListener</a></td> <td class="imsum_right">Call this, if you want to get notifications about changes. </td> </tr> <tr> <td class="imsum_left"><a href="#connectToCache">connectToCache</a></td> <td class="imsum_right">Connects this to a <a href="CachedDynamicResultSet.html">CachedDynamicResultSet</a> for optimized remote data transport. </td> </tr> <tr> <td class="imsum_left"><a href="#getCapabilities">getCapabilities</a></td> <td class="imsum_right">Using this method you can get information, whether the offered <a href="ContentResultSet.html">ContentResultSet</a>s are sorted or filtered etc correctly as demanded during the creation of the <a href="XDynamicResultSet.html">XDynamicResultSet</a>. </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="getStaticResultSet" class="membertitle">getStaticResultSet</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">::com::sun::star::<a href="../sdbc/module-ix.html">sdbc</a>::<a href="../sdbc/XResultSet.html">XResultSet</a></td> </tr> <tr> <td valign="top"><b>getStaticResultSet</b>()</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="ListenerAlreadySetException.html">ListenerAlreadySetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>Call this, if you don't care about any changes. </dd> <dt><b>Returns</b></dt> <dd>an ::com::sun::star::<a href="../sdbc/module-ix.html">sdbc</a>::<a href="../sdbc/XResultSet.html">XResultSet</a> that is implemented as <a href="ContentResultSet.html">ContentResultSet</a>. Its content will never change. @trows ListenerAlreadySetException if someone already has registered as listener via <a href="XDynamicResultSet.html">XDynamicResultSet</a>::<a href="XDynamicResultSet.html#setListener">setListener</a> or if someone has established a connection to a <a href="CachedDynamicResultSet.html">CachedDynamicResultSet</a> via <a href="XDynamicResultSet.html">XDynamicResultSet</a>::<a href="XDynamicResultSet.html#connectToCache">connectToCache</a>. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="setListener" class="membertitle">setListener</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>setListener</b>(</td> <td valign="top">[in] <a href="XDynamicResultSetListener.html">XDynamicResultSetListener</a></td> <td valign="bottom"> Listener )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="ListenerAlreadySetException.html">ListenerAlreadySetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>Call this, if you want to get notifications about changes. </dd> <dd><p>The implementor has to call ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a>::<a href="../lang/XComponent.html#addEventListener">addEventListener</a> in this method, so that we can call ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XEventListener.html">XEventListener</a>::<a href="../lang/XEventListener.html#disposing">disposing</a> at the listener </dd> <dt><b>Parameter Listener</b></dt> <dd>a listener for resultset notifications </dd> <dt><b>Throws</b></dt> <dd>ListenerAlreadySetException if this method is called more than once during the life of the implementation object or if this method is called if someone already has fetched the <a href="ContentResultSet.html">ContentResultSet</a> via <a href="XDynamicResultSet.html">XDynamicResultSet</a>::<a href="XDynamicResultSet.html#getStaticResultSet">getStaticResultSet</a>. </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="connectToCache" class="membertitle">connectToCache</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>connectToCache</b>(</td> <td valign="top">[in] <a href="XDynamicResultSet.html">XDynamicResultSet</a></td> <td valign="bottom"> Cache )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="ListenerAlreadySetException.html">ListenerAlreadySetException</a>,<br> <a href="AlreadyInitializedException.html">AlreadyInitializedException</a>,<br> <a href="ServiceNotFoundException.html">ServiceNotFoundException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>Connects this to a <a href="CachedDynamicResultSet.html">CachedDynamicResultSet</a> for optimized remote data transport. </dd> <dd><p>This method creates a <a href="CachedDynamicResultSetStub.html">CachedDynamicResultSetStub</a> and sets it as Source to the given cache. <p>After this method has returned you can and have to use the given result set cache for further access. </dd> <dt><b>Parameter Cache</b></dt> <dd>has to be an implementation of the service <a href="CachedDynamicResultSet.html">CachedDynamicResultSet</a>. In particular it has to support the interface <a href="XSourceInitialization.html">XSourceInitialization</a>. </dd> <dt><b>Throws</b></dt> <dd>ListenerAlreadySetException if if someone already has fetched the <a href="ContentResultSet.html">ContentResultSet</a> via <a href="XDynamicResultSet.html">XDynamicResultSet</a>::<a href="XDynamicResultSet.html#getStaticResultSet">getStaticResultSet</a>. </dd> <dt><b>Throws</b></dt> <dd>AlreadyInitializedException if <var>Cache</var> was already initialized with another source. </dd> <dt><b>Throws</b></dt> <dd>ServiceNotFoundException </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="getCapabilities" class="membertitle">getCapabilities</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">short</td> </tr> <tr> <td valign="top"><b>getCapabilities</b>();</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>Using this method you can get information, whether the offered <a href="ContentResultSet.html">ContentResultSet</a>s are sorted or filtered etc correctly as demanded during the creation of the <a href="XDynamicResultSet.html">XDynamicResultSet</a>. </dd> <dt><b>Returns</b></dt> <dd>zero or more constants of the <a href="ContentResultSetCapability.html">ContentResultSetCapability</a> constants group. </dd> </dl> </td> </tr> </table> </td> </tr> </table> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2009 Sun Microsystems, Inc.</p> </div> <!-- id="adc-idlref" --> </body> </html>