Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


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

service UniversalContentBroker
Description
is a one-instance service that provides access to a set of Contents via ContentProviders.

If the instance is created with two arguments of type string, these two strings are used to configure the newly instantiated broker; see the description of the required ::com::sun::star::lang::XInitialization interface for details.

If the instance is created without arguments, the newly instatiated broker is not configured.

Developers Guide
UCB - Universal Content Broker - Capabilities
UCB - Instantiating the UCB

Exported Interfaces - Summary
::com::sun::star::lang::XComponent

must be implemented to make it possible to resolve cyclic object references. (details)

XContentProvider

provides access to all kind of contents provided by the registered content providers. (details)

XContentProviderManager

provides access to a set of content providers registered with the UCB. (details)

XContentIdentifierFactory

creates XContentIdentifier implementation objects for all kind of contents provided by the UCB. (details)

::com::sun::star::lang::XInitialization

supports the configuration of a newly created broker. (details)

XCommandProcessor

enables the caller to execute commands at the broker. (details)

XCommandProcessor2

is an enhanced version of XCommandProcessor that has an additional method for releasing command identifiers obtained via XCommandProcessor::createCommandIdentifier to avoid resource leaks. For a detailed description of the problem refer to XCommandProcessor2::releaseCommandIdentifier. (details)

Exported Interfaces - Details
::com::sun::star::lang::XComponent
Description
must be implemented to make it possible to resolve cyclic object references.

Those references i.e. may occure if content provider implementations hold references to the Broker. The Broker itself always holds its providers. If the Broker shall be released, ::com::sun::star::lang::XComponent::dispose must be called at the Broker. The implementation of this method must call ::com::sun::star::lang::XEventListener::disposing on the registered listeners (the providers holding the Broker must be those listeners) and release the appropriate object references. At the other hand, the implementation of XEventListener::disposing must release its appropriate references.

This interface is required.

XContentProvider
Description
provides access to all kind of contents provided by the registered content providers.

This interface is required.

XContentProviderManager
Description
provides access to a set of content providers registered with the UCB.

This interface is required.

XContentIdentifierFactory
Description
creates XContentIdentifier implementation objects for all kind of contents provided by the UCB.

This interface is required.

::com::sun::star::lang::XInitialization
Description
supports the configuration of a newly created broker.

The ::com::sun::star::lang::XInitialization::initialize method should be called with two arguments of type string. These strings are used as a pair of keys to retrieve a set of content provider descriptions from the configuration management (stored at org.openoffice.ucb.Configuration.ContentProviders.key1.SecondaryKeys.key2.ProviderData within the configuration management's hierarchy). The retrieved descriptions are in turn used to register the corresponding content provider services at the broker.

Typical values for the pair of strings would be "Local"/"Office", to configure a broker that contains all the relevant content providers.

This interface is required.

XCommandProcessor
Description
enables the caller to execute commands at the broker.

This interface is required.

 =======================================================================
 Commands:
 =======================================================================

 [return type]
 [command name]
 [parameter type and name]

 -----------------------------------------------------------------------
 Requiered commands:
 -----------------------------------------------------------------------

 // This command obtains an interface which allows to query
 // information on commands supported by the Content Broker.

 XCommandInfo
 getCommandInfo
 void

 // This command transfers Contents from one location to another.
 // Additionally, it can be used to create a link to a Content.
 // The implementation must be able to handle Contents provided
 // by any Content Provider. This is different from the command
 // 'transfer' that can be supported by a Content. That command
 // typically can only handle Contents provided by one
 // ContentProvider.

 void
 globalTransfer
 GlobalTransferCommandArgument
 
XCommandProcessor2
Usage Restrictions
optional
Description
is an enhanced version of XCommandProcessor that has an additional method for releasing command identifiers obtained via XCommandProcessor::createCommandIdentifier to avoid resource leaks. For a detailed description of the problem refer to XCommandProcessor2::releaseCommandIdentifier.

Where many existing UniversalContentBroker implementations do not (yet), every new implementation should support this interface.


 
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.