Setting Stores

Identifier:
org.eclipse.rap.ui.settingstores

Since:
RAP 1.1

Description:
This extension point allows developers to contribute additional ISettingStore instances.

An ISettingStore provides persistent storage for settings (key value pairs of Strings), which are then available beyond the scope of a single session. An ISettingStoreFactory is responsible for creating a particular kind of ISettingStore.

Developers that want to implement their own setting store must provide a setting store factory and register it with the framework using this extension point.

Note that at runtime only one (out of all available) factories will be used to create new ISettingStore instances. Which factory is used can be controlled in two ways:

Configuration Markup:

<!ELEMENT extension (factory)*>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED

>


<!ELEMENT factory EMPTY>

<!ATTLIST factory

id    CDATA #REQUIRED

class CDATA #REQUIRED

>

This element is used to define setting store factories. If more than one of these elements exist with the same id, only the last declared element (in order of reading the registry) is considered valid.



Examples:

  <extension
         point="org.eclipse.rap.ui.settingstores">
      <factory
            class="org.eclipse.rap.ui.internal.preferences.WorkbenchFileSettingStoreFactory"
            id="file">
      </factory>
      <factory
            class="org.eclipse.rwt.service.RWTFileSettingStoreFactory"
            id="rwtfile">
      </factory>
   </extension>

API Information:
To obtain a setting store use RWT.getSettingStore(). This will use the configured org.eclipse.rwt.service.ISettingStoreFactory to generate and return an appropriate org.eclipse.rwt.service.ISettingStore instance for this session.

Developers wishing to provide their own setting store must implement ISettingStore and ISettingStoreFactory and contribute their factory using this extension point.

Supplied Implementation:
RAP provides the following default implementations:


Copyright (c) 2008 Innoopract Informationssysteme GmbH and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html