LibreOffice LibreOffice 7.2 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:

## 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()

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.

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

  Cache | has to be an implementation of the service CachedDynamicResultSet. In particular it has to support the interface XSourceInitialization.

Exceptions

  ListenerAlreadySetException | if someone already has fetched the ContentResultSet via XDynamicResultSet::getStaticResultSet().
  AlreadyInitializedException | if 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()

com::sun::star::sdbc::XResultSet getStaticResultSet | ( |  | ) |
raises | ( | com::sun::star::ucb::ListenerAlreadySetException
| ) |  |

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

  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 | ( | 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

  Listener | a listener for result set notifications

Exceptions

  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().

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

- com/sun/star/ucb/XDynamicResultSet.idl