<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 ??? until 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 additional 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 result set 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 © 2000, 2012 LibreOffice contributors and/or their affiliates. All rights reserved.</p><p class="copyright" align="center">LibreOffice was created by The Document Foundation, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.</p><p class="copyright" align="center">The Document Foundation acknowledges all community members, please find more info <a href="http://www.libreoffice.org/about-us/credits/" target="_blank">at our website</a>.<p> </p><p class="copyright" align="center"><a href="http://www.libreoffice.org/privacy" target="_blank">Privacy Policy</a> | <a href="http://www.libreoffice.org/imprint" target="_blank">Impressum (Legal Info)</a> | Copyright information: The source code of LibreOffice is licensed under the GNU Lesser General Public License (<a href="http://www.libreoffice.org/download/license/" target="_blank">LGPLv3</a>). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our <a href="http://wiki.documentfoundation.org/TradeMark_Policy" target="_blank">trademark policy</a>.</p> </div> <!-- id="adc-idlref" --> </body> </html>