Model Property

Identifier

com.ibm.etools.iseries.perspective.modelproperty

Description

This extension point is used to contribute a new property to the iSeries Project Perspective Model. A property can be either team shared or local. A team shared property is shared when the iSeries Project is being shared (through CVS for example). It is available to any workspace that has the iSeries project. This is because it is persisted under the associated iSeries Project in an XML metadata file. A local property on the other hand is only available to the particular workspace where this property is set. It is not shared with the project, and if the workspace is reinstalled or the project is deleted from the workspace, the local property is lost and it has to be re-set. A local property is cached as a persistant property on the Eclipse IResource that it belongs to. Any property defined using this extension point can be manipulated using the iSeries Project Model APIs. Check com.ibm.etools.iseries.perspective.model.IISeriesPropertiesModel for details.
This extension point also allows for contributing wizard pages to any of the three iSeries Project Perspective creation Wizards, namely the New iSeries Project, New iSeries Source Physical File, and New iSeries Source Member wizards. Any contributed wizard page must subclasses com.ibm.etools.iseries.perspective.model.ui.AbstractISVWizardPage. This class is needed to allow for passing the values of the contributed properties to the iSeries Project model. It is also needed because it gives a "post-processing" hook to the contributed wizard pages right after the resource in hand has been created and added to the iSeries Project Object Model. Check the java documentation of the class for more details. An unrecognized element name or a bad element contribution is simply logged and ignored.

Markup

   <!ELEMENT extension (property*)>
   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
   >

   <!ELEMENT property (wizardpage*)>
   <!ATTLIST property
     key          CDATA #REQUIRED
     isTeamShared (true | false) "false"#IMPLIED
   >

   <!ELEMENT wizardpage EMPTY>
   <!ATTLIST wizardpage
     class   CDATA #REQUIRED
     project (true | false) "false"#IMPLIED
     srcpf   (true | false) "false"#IMPLIED
     member  (true | false) "false"#IMPLIED
   >

Example

The following is an example of how to use this extension point:

 
  <!-- =========== Defining ISV Properties and Wizard Pages ============   -->
  <!-- This defined two ISV properties, com.ibm.etools.iseries.perspective.isv.sample1.myString -->
  <!-- and com.ibm.etools.iseries.perspective.isv.sample1.myBoolean. It also defines a wizard  -->
  <!-- page that is only contributed to the New iSeries Project wizard. -->
  <extension point="com.ibm.etools.iseries.perspective.modelproperty">
     <property key="myBoolean" isTeamShared="false"/>
     <property key="myString" isTeamShared="true">
      <wizardpage class="com.ibm.etools.iseries.perspective.isv.sample1.NewProjectISVBuildPage" project="true"/>
     </property>
  </extension>   

It demonstrates how to contribute two properties, one is team shared and one is not. It also demonstrates how to contribute a wizard page to the New iSeries Project Perspective Wizard. Note that the plugin id where this extension instance is defined is assumes to be com.ibm.etools.iseries.perspective.isv.sample1 in the above XML comment, this is why the key is actually com.ibm.etools.iseries.perspective.isv.sample1.myString.

API Information

The value of the class attribute of the wizardpage element must represent a subclass of com.ibm.etools.iseries.perspective.model.ui.AbstractISVWizardPage.

Supplied Implementation

The iSeries Project Build Styles use this extension point to contribute build specific properties to the iSeries Project model. Check the com.ibm.etools.iseries.remotebuild and com.ibm.etools.iseries.remotebuild.styles plugins for sample usage.

(C) Copyright IBM Corp. 2003. All Rights Reserved.