LibreOffice
LibreOffice 7.4 SDK API Reference
Public Member Functions | List of all members
XDynamicResultSet Interface Referencepublished

Provides read access to a ContentResultSet. More...

import"XDynamicResultSet.idl";

Inheritance diagram for XDynamicResultSet:
XComponent XInterface CachedDynamicResultSet CachedDynamicResultSetStub DynamicResultSet

Public Member Functions

com::sun::star::sdbc::XResultSet getStaticResultSet () raises ( com::sun::star::ucb::ListenerAlreadySetException )
 Call this, if you don't care about any changes. More...
 
void setListener ([in] XDynamicResultSetListener Listener) raises ( com::sun::star::ucb::ListenerAlreadySetException )
 Call this, if you want to get notifications about changes. More...
 
void connectToCache ([in] XDynamicResultSet Cache) raises ( com::sun::star::ucb::ListenerAlreadySetException , com::sun::star::ucb::AlreadyInitializedException , com::sun::star::ucb::ServiceNotFoundException )
 Connects this to a CachedDynamicResultSet for optimized remote data transport. More...
 
short 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. More...
 
- Public Member Functions inherited from XComponent
void dispose ()
 The owner of an object calls this method to explicitly free all resources kept by this object and thus break cyclic references. More...
 
void addEventListener ([in] XEventListener xListener)
 adds an event listener to the object. More...
 
void removeEventListener ([in] XEventListener aListener)
 removes an event listener from the listener list. More...
 
- Public Member Functions inherited from XInterface
any queryInterface ([in] type aType)
 queries for a new interface to an existing UNO object. More...
 
void acquire ()
 increases the reference counter by one. More...
 
void release ()
 decreases the reference counter by one. More...
 

Detailed Description

Provides read access to a ContentResultSet.

You can either get a simple static ContentResultSet or you can listen to change-notifications and then 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 ??? until 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 additional 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 then the ResultSets are always swapped.
  2. The listener is not allowed to access the old ContentResultSet.

Member Function Documentation

◆ connectToCache()

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.

Parameters
Cachehas to be an implementation of the service CachedDynamicResultSet. In particular it has to support the interface XSourceInitialization.
Exceptions
ListenerAlreadySetExceptionif someone already has fetched the ContentResultSet via XDynamicResultSet::getStaticResultSet().
AlreadyInitializedExceptionif Cache was already initialized with another source.
ServiceNotFoundException

◆ getCapabilities()

short 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.

Returns
zero or more constants of the ContentResultSetCapability constants group.

◆ getStaticResultSet()

Call this, if you don't care about any changes.

Returns
a com::sun::star::sdbc::XResultSet that is implemented as ContentResultSet. Its content will never change.
Exceptions
ListenerAlreadySetExceptionif 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 (com::sun::star::ucb::ListenerAlreadySetException
)

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

Parameters
Listenera listener for result set notifications
Exceptions
ListenerAlreadySetExceptionif 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().

The documentation for this interface was generated from the following file: