Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: com :: sun :: star :: ucb ::

interface XDynamicResultSet
Base Interfaces
XDynamicResultSet
┗ ::com::sun::star::lang::XComponent

::com::sun::star::lang::XComponent
(referenced interface's summary:)
allows to exclicitly free resources and break cyclic references.
Description
Provides read access to a ContentResultSet.

You can either get a simple static ContentResultSet or you can listen to change-notifications and than swap from the old to a new ContentResultSet.

The following describes the dynamic use:

XDynamicResultSet provides the possibility to get notifications about changes on a ContentResultSet and have an listener-controlled update from one version to the next version. Two ContentResultSet implementations were given to the listener in the first notification as interface ::com::sun::star::sdbc::XResultSet.

To get notifications the listener has to be of type XDynamicResultSetListener.

After registration you will get notifications for events of type ListEvent.

The calling of XDynamicResultSetListener::notify 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.

While one notify-call is going on:

  1. The listener is allowed to access both ContentResultSets, they must be both valid.
  2. It is not allowed to start a second notify-call.
  3. All addditional things we want to send as notification are to be queued.
  4. Any other calls are to be accepted and treated.

After the listener has returned the notify-call:

  1. The listener is allowed to access the new ContentResultSet. The new one is first assigned in the WELCOME-event and than the ResultSets are always swapped.
  2. The listener is not allowed to access the old ContentResultSet.

Methods' Summary
getStaticResultSet Call this, if you don't care about any changes.  
setListener Call this, if you want to get notifications about changes.  
connectToCache Connects this to a CachedDynamicResultSet for optimized remote data transport.  
getCapabilities Using this method you can get information, whether the offered ContentResultSets are sorted or filtered etc correctly as demanded during the creation of the XDynamicResultSet.  
Methods' Details
getStaticResultSet
::com::sun::star::sdbc::XResultSet
getStaticResultSet()
raises( ListenerAlreadySetException );

Description
Call this, if you don't care about any changes.
Returns
an ::com::sun::star::sdbc::XResultSet that is implemented as ContentResultSet. Its content will never change. @trows ListenerAlreadySetException if someone already has registered as listener via XDynamicResultSet::setListener or if someone has established a connection to a CachedDynamicResultSet via XDynamicResultSet::connectToCache.
setListener
void
setListener( [in] XDynamicResultSetListener  Listener )
raises( ListenerAlreadySetException );

Description
Call this, if you want to get notifications about changes.

The implementor has to call ::com::sun::star::lang::XComponent::addEventListener in this method, so that we can call ::com::sun::star::lang::XEventListener::disposing at the listener

Parameter Listener
a listener for resultset notifications
Throws
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 ContentResultSet via XDynamicResultSet::getStaticResultSet.
connectToCache
void
connectToCache( [in] XDynamicResultSet  Cache )
raises( ListenerAlreadySetException,
AlreadyInitializedException,
ServiceNotFoundException );

Description
Connects this to a CachedDynamicResultSet for optimized remote data transport.

This method creates a CachedDynamicResultSetStub and sets it as Source to the given cache.

After this method has returned you can and have to use the given result set cache for further access.

Parameter Cache
has to be an implementation of the service CachedDynamicResultSet. In particular it has to support the interface XSourceInitialization.
Throws
ListenerAlreadySetException if if someone already has fetched the ContentResultSet via XDynamicResultSet::getStaticResultSet.
Throws
AlreadyInitializedException if Cache was already initialized with another source.
Throws
ServiceNotFoundException
getCapabilities
short
getCapabilities();

Description
Using this method you can get information, whether the offered ContentResultSets are sorted or filtered etc correctly as demanded during the creation of the XDynamicResultSet.
Returns
zero or more constants of the ContentResultSetCapability constants group.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.