Overview | Module | Use | Devguide | Index

Services' Summary | Interfaces' Summary | Properties' Summary | Services' Details | Interfaces' Details | Properties' Details

:: com :: sun :: star :: configuration ::
service SimpleSetUpdate
Description provides write access to a dynamic, homogeneous, non-hierarchical set of values or objects. Allows adding and removing elements. Helps create new elements to be added. This service extends SimpleSetAccess to support modifying the container. Any child objects shall in turn support modifying access.

Included Services - Summary
SimpleSetAccess | is the basic service providing read access to a (not necessarily hierarchical) set.

Exported Interfaces - Summary
::com::sun::star::container::XNameContainer | allows inserting, removing, and replacing elements. (details)
::com::sun::star::lang::XSingleServiceFactory | allows creating an object that can be inserted into this set. [conditional] (details)
::com::sun::star::lang::XMultiServiceFactory | allows creating various objects that can be inserted into this set. [optional] (details)

Included Services - Details
SimpleSetAccess
Description is the basic service providing read access to a (not necessarily hierarchical) set.

Exported Interfaces - Details
::com::sun::star::container::XNameContainer
Description allows inserting, removing, and replacing elements. This interface extends the interface ::com::sun::star::container::XNameAccess supported by service SimpleSetAccess to allow modifying the container. If available, changes can be observed by registering a listener with interface ::com::sun::star::container::XContainer. If the elements of this set are of simple type (the type returned by ::com::sun::star::container::XElementAccess::getElementType() is not an interface type), then values of that type can directly be passed to ::com::sun::star::container::XNameContainer::insertByName() and ::com::sun::star::container::XNameContainer::replaceByName(). Otherwise new elements have to be constructed to match the type prescribed by the element template of this set. Such elements can be created using interfaces ::com::sun::star::lang::XSingleServiceFactory and, if supported, ::com::sun::star::lang::XMultiServiceFactory. Objects to be inserted must not be contained in any set at the time of insertion. ::com::sun::star::container::XChild::getParent() must return NULL. If a name had been assigned to the object prior to insertion (using ::com::sun::star::container::XNamed::setName() or by other means), this name is ignored and will be lost. After insertion the name of the object is the name that was used as argument to ::com::sun::star::container::XNameContainer::insertByName() or ::com::sun::star::container::XNameContainer::replaceByName(). Objects that are removed using ::com::sun::star::container::XNameContainer::removeByName() or replaced using ::com::sun::star::container::XNameContainer::replaceByName() remain valid and can be reinserted into a set supporting the same template and even under a different name. An implementation need not support insertion of objects that were not obtained in one of the ways described above. If it does, the implementation must reject elements that do not have the correct structure as described by the template.
::com::sun::star::lang::XSingleServiceFactory
Usage Restrictions optional Description allows creating an object that can be inserted into this set. [conditional] This interface shall be implemented by an implementation, if and only if the element type of the set, as returned by ::com::sun::star::container::XElementAccess::getElementType(), is an object type, such as an interface. Using ::com::sun::star::lang::XSingleServiceFactory::createInstance() an instance of the element template of this set is created. If the set supports multiple templates or variations of the basic template, a default variant of the basic template is instantiated. If an implementation supports variations, they may be specified by passing arguments to ::com::sun::star::lang::XSingleServiceFactory::createInstanceWithArguments(). There are no predefined arguments for all versions of this service. The object created is not contained in the set and does not have a name yet. It may subsequently be inserted into the set and named using ::com::sun::star::container::XNameContainer::insertByName() or ::com::sun::star::container::XNameContainer::replaceByName().
::com::sun::star::lang::XMultiServiceFactory
Usage Restrictions optional Description allows creating various objects that can be inserted into this set. [optional] This interface may be implemented by an implementation of service SetUpdate to support creating elements from other than the basic element template. An example of this would be an implementation that supports inheritance, allowing the use of templates derived from the basic template by extension. This interface may only be implemented if the element type of the set (as returned by ::com::sun::star::container::XElementAccess::getElementType()) is an object type, such as an interface. An implementation should also implement interface XTemplateContainer which is optional in this service. The service identifier argument passed to ::com::sun::star::lang::XMultiServiceFactory::createInstance() or ::com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() names the template to be instantiated or otherwise identifies the structure to be built. The implementation must at least support using the template name obtained from XTemplateContainer::getElementTemplateName() as a service identifier, in which case the result shall be the same as if the corresponding member of ::com::sun::star::lang::XSingleServiceFactory had been called.

Top of Page

Copyright © 2000, 2013 LibreOffice contributors and/or their affiliates. All rights reserved.

LibreOffice was created by The Document Foundation, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.

The Document Foundation acknowledges all community members, please find more info at our website.

Privacy Policy | Impressum (Legal Info) | Copyright information: The source code of LibreOffice is licensed under the GNU Lesser General Public License (LGPLv3). "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 trademark policy.