diff options
author | Benjamin Muskalla | 2008-04-18 10:46:45 +0000 |
---|---|---|
committer | Benjamin Muskalla | 2008-04-18 10:46:45 +0000 |
commit | 2d240b2b9e0810509f112c4f8054baed58b47520 (patch) | |
tree | 8e14c4a21ec82978f631e5224edbc5dafcdda236 /bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd | |
parent | 6a799451aede964174736a4b255d7ad03133616e (diff) | |
download | org.eclipse.rap-2d240b2b9e0810509f112c4f8054baed58b47520.tar.gz org.eclipse.rap-2d240b2b9e0810509f112c4f8054baed58b47520.tar.xz org.eclipse.rap-2d240b2b9e0810509f112c4f8054baed58b47520.zip |
added rap specific extension points
Diffstat (limited to 'bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd')
-rw-r--r-- | bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd b/bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd new file mode 100644 index 0000000000..9b8de07399 --- /dev/null +++ b/bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd @@ -0,0 +1,163 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.rap.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.rap.ui" id="settingstores" name="Setting Stores"/> + </appInfo> + <documentation> + This extension point allows developers to contribute additional <code>ISettingStore</code> instances. +<p> +An <code>ISettingStore</code> provides persistent storage for settings (key value pairs of Strings), which are then available beyond the scope of a single session. An <code>ISettingStoreFactory</code> is responsible for creating a particular kind of <code>ISettingStore</code>. +<p> +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. +<p> +Note that at runtime only <b>one</b> (out of all available) factories will be used to create new <code>ISettingStore</code> instances. Which factory is used can be controlled in two ways: +<ul> +<li>In a normal RAP deployment you can specify the factory to be used by placing the following property in the OSGi config.ini file: <code>org.eclipse.rwt.settingStoreFactory=<i>id</i></code> where <i>id</i> identifies a particular factory element. Example: +<pre> +org.eclipse.rwt.settingStoreFactory=file +</pre> +</li> +<li>In an RWT-only deployment you can specify the factory to be used by placing the following snippet in the web.xml file:<br> +<pre> +<init-param> + <param-name>org.eclipse.rwt.settingStoreFactory</param-name> + <param-value>org.eclipse.rwt.service.RWTFileSettingStoreFactory</param-value> +</init-param> +</pre> +<li>If nothing is specified, the class <code>WorkbenchFileSettingStoreFactory</code> will be used in a regular RAP deployment. In an RWT only deployment the class <code>RWTFileSettingStoreFactory</code> will be used instead.</li> +</ul> + </documentation> + </annotation> + + <element name="extension"> + <complexType> + <sequence minOccurs="0" maxOccurs="unbounded"> + <element ref="factory"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + a fully qualified identifier of the target extension point + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + an optional identifier of the extension instance + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + an optional name of the extension instance + </documentation> + <appInfo> + <meta.attribute translatable="true"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="factory"> + <annotation> + <appInfo> + <meta.element labelAttribute="id"/> + </appInfo> + <documentation> + This element is used to define setting store factories. If more than one of these elements exist with the same <code>id</code>, only the last declared element (in order of reading the registry) is considered valid. + </documentation> + </annotation> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + the unique identifier of this factory + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + a fully qualified name of the class implementing the <code>org.eclipse.rwt.service.ISettingStoreFactory</code> interface. + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn=":org.eclipse.rwt.service.ISettingStoreFactory"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="since"/> + </appInfo> + <documentation> + RAP 1.1 + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + <pre> + <extension + point="org.eclipse.rap.ui.settingstores"> + <factory + class="org.eclipse.ui.internal.preferences.WorkbenchFileSettingStoreFactory" + id="file"> + </factory> + <factory + class="org.eclipse.rwt.service.RWTFileSettingStoreFactory" + id="rwtfile"> + </factory> + </extension> +</pre> + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + To obtain a setting store use <code>RWT.getSettingStore()</code>. This will use the configured <code>org.eclipse.rwt.service.ISettingStoreFactory</code> to generate and return an appropriate <code>org.eclipse.rwt.service.ISettingStore</code> instance for this session. +<p> +Developers wishing to provide their own setting store must implement <code>ISettingStore</code> and <code>ISettingStoreFactory</code> and contribute their factory using this extension point. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + RAP provides the following default implementations: +<ul> +<li><code>WorkbenchFileSettingStoreFactory</code>, <code>RWTFileSettingStoreFactory</code> and <code>FileSettingStore</code> +</li> +</ul> + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + Copyright (c) 2008 Innoopract Informationssysteme GmbH and others.<br> +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 <a +href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> + </documentation> + </annotation> + +</schema> |