<p> This extension point is modelled after the eclipse workbench extension point <samp>org.eclipse.ui.propertyPages</samp>. However, because we know we are targeting remote resources, it is simplified a bit. Specifically, there is no need to specify the object class, as we assume these actions apply to remote resources, which often share a common object class. On the other hand, we need additional filtering capabilities to scope which remote resources these pages are to apply to. </p> <p> To this end, there is a rich set of filtering attributes to enable fine-grained scoping by a number of criteria. These scoping attributes are the same as those for our <samp>org.eclipse.rse.ui.popupMenus</samp> extension point. <p> While not fully documented here, this extension point supports the <samp>&lt;filter&gt;</samp> element from the <samp>org.eclipse.ui.popupMenus</samp> extension point. See its documentation in the help for information on this element. For example: <samp><pre> <filter name="subsystemFactoryCategory" value="files"/> </pre></samp> This element is for conditionally deciding whether to show the property page, very much like the attributes of the &lt;page&gt; element do; in fact there is some overlap. <br> The <samp>name</samp>s supported for the <samp>&lt;filter&gt;</samp> element are:</p> <ul> <li><b><samp>"name"</samp></b>. Will test the <i>value</i> for an exact match on an object's name, or beginning-of-name match if ends with an asterisk. <li><b><samp>"type"</samp></b>. Will test the <i>value</i> for an exact match on an object's type. <li><b><samp>"offline"</samp></b>.Will test the <i>value</i> against "true" if the user is working in "offline" mode or "false" if not. Currently only supported for iSeries connections. <li><b><samp>"connected"</samp></b>. Will test the <i>value</i> against "true" if the connection containing the selected object is active or "false" if not. <li><b><samp>"hasChildren"</samp></b>. Will test the <i>value</i> against "true" if this object's adapter reports that it has children or "false" if it doesn't have children. <li><b><samp>"systemType"</samp></b>. Will test the <i>value</i> for an exact match on the system type of this object's parent SystemConnection object. You can specify multiple values if you comma-separate them. <li><b><samp>"subsystemFactoryId"</samp></b>. Will test the <i>value</i> for an exact match on the <samp>ID</samp> of the subsystem factory that created this object's subsystem. Returns false for SystemConnection objects. You can specify multiple values if you comma-separate them. <li><b><samp>"subsystemFactoryCategory"</samp></b>. Will test the <i>value</i> for an exact match on the <samp>category</samp> of the subsystem factory that created this object's subsystem. You can specify multiple values if you comma-separate them. </ul> (no description available) Identifies an individual property page contribution. a unique ID that will be used to identify this page. a translatable name that will be used in the UI for this page. a fully qualified name of the class that implements <code>org.eclipse.ui.IWorkbenchPropertyPage</code>. Or better yet, extends one of the IBM-supplied base classes, described in the API Information section. A relative path to an icon that will be used in the UI in addition to the page name. Optional. One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a subsystem configuration id, such that this property page will only appear for remote resources returned from subsystems of the given subsystem configuration. This ID can be scalar, or it can be generic to match on multiple subsystem configuration IDs. One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a subsystem configuration category, such that this property page will only appear for remote resources returned from subsystems owned by subsystem configurations declared defined with the specified category. <p> This category can be scalar, or it can be generic to match on multiple subsystem configuration categories. The categories of the Predefined subsystem configurations that display remote resources in the Remote Systems view are: </p> <ul> <li><b>files</b>. For subsystems that list hierarchical file system resources, such as folders and files. <li><b>nativefiles</b>. For subsystems that list non-hierarchical file system resources, such as in the iSeries QSYS file system. <li><b>commands</b>. For subsystems that list remote commands. <li><b>jobs</b>. For subsystems that list remote jobs. </ul> <br> One of the optional filters to scope the remote resources for which the popup menu actions are to appear. Specify as many of these optional filters like this as needed to explicitly scope all the actions defined in this objectContribution element. <br> This filter specifies a single system type, or semicolon-separated list of system types, or asterisk for all system types (the default). Will scope these actions to only remote objects from systems of this type or types. <br><br> One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a simple or generic resource name. Only resources whose name matches this filter will show the property page defined within this page element. </p> One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a type category. Normally the subsystemconfigurationid is sufficient, but some subsystems display multiple types of resources, and these are categorized by a type name that can be used to scope property pages. Here are the type categories supported by IBM- supplied subsystems: </p> <ul> <li><b>files</b>. For hierarchical file systems resources. <li><b>commands</b>. For remote commands. <li><b>jobs</b>. For remote jobs. </ul> <br> The IBM-supplied subsystem for iSeries native file system objects also supports these type categories: <ul> <li><b>LIBRARIES</b>. Set for libraries. <li><b>OBJECTS</b>. Set for objects, excluding files. <li><b>OBJECTFILES</b>. Set for file objects. Use <samp>OBJECTS*</samp> to match on all objects. <li><b>MEMBERS</b>. Set for data and source file members. <li><b>RECORDS</b>. Set for record formats within files. <li><b>FIELDS</b>. Set for fields within record formats. <li><b>MESSAGE_DESCRIPTIONS</b>. Set for messages within message files. </ul> <br> One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a resource type, either simple or generic. The resource types depends on the subsystem. The types for IBM-supplied subsystems which support them are: </p> <ul> <li><b>filesXXX</b>. Either <i>folder</i> or <i>file</i>. <li><b>files400</b>. This is the object's type (for objects), such as <i>*PGM</i>, or member's type (for members), such as <i>RPGLE</i>. Since * is a valid character in an iSeries object type, use %ast. instead of * to prevent wildcard matching. For example, to prevent matching on both *PGM and *SRVPGM, use %ast.PGM for the type. </ul> <br> One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a simple or generic resource subtype to match. Not all subsystems support subtypes for their resources. The IBM-supplied subsystems that do support this are: </p> <ul> <li>FilesXXX. This can be either <i>subfolder</i> for nested folders only, or <i>root</i> for the root folder or Windows' drives. <li>Files400. For iSeries objects within a library, this is the object's attribute. For members, this is either <i>DTA</i> or <i>SRC</i>. For fields, this is the field's datatype (a single character). </ul> <br> One of the optional filters to scope the remote resources for which the property page is to appear. Specify as many of these optional filters like this as needed to explicitly scope this property page element. <p> This filter specifies a simple or generic resource sub-subtype to match. No IBM-supplied subsystems support sub-subtypes for their resources today. </p> The following is a simple example of a property page for files or folders in any remote system type: <h3>Example One</h3> <p> <pre> <extension point="org.eclipse.rse.ui.propertyPages"> <page class="com.acme.myPropertyPage1" id="com.acme.mypropertypage1" name="Remote Folder and File Info" typecategoryfilter="files"> </page> </extension> </pre> </p> The following refines the first example so it only applies to files, versus folders, and only for local files: <h3>Example Two</h3> <p> <pre> <extension point="org.eclipse.rse.ui.propertyPages"> <page class="com.acme.myPropertyPage2" id="com.acme.mypropertypage2" name="Remote File Info" typecategoryfilter="files" typefilter="file" subsystemconfigurationid="local.files"> </page> </extension> </pre> </p> The following refines the second example so it only applies to local Java files: <h3>Example Three</h3> <p> <pre> <extension point="org.eclipse.rse.ui.propertyPages"> <page class="com.acme.myPropertyPage3" id="com.acme.mypropertypage3" name="Remote Java File Info" typecategoryfilter="files" typefilter="file" subsystemconfigurationid="local.files" namefilter="*.java"> </page> </extension> </pre> </p> <p> Remember, you can repeat the <samp>page</samp> elements as needed, to define multiple property pages within the same extension configuration. </p> Your actions must all implement the interface <samp>org.eclipse.ui.IWorkbenchPropertyPage</samp>. Typically, you will subclass one of the supplied base classes for this extension point: <ul> <li><b>org.eclipse.rse.ui.propertypages.SystemAbstractPropertyPageExtensionAction</b>, in plugin org.eclipse.rse.ui. Base class offering generic support for any remote resource property page, for any system type. <li><b>org.eclipse.rse.files.ui.propertypages.SystemAbstractRemoteFilePropertyPageExtensionAction</b>, in plugin org.eclipse.rse.files.ui. Specialized base class offering specific support for any remote file or folder property page, for any system type. </ul> <br> There is no supplied implementation for this extension point. Copyright (c) 2002, 2006 IBM Corporation. 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 Contributors: IBM Corporation - initial API and implementation