Products

Identifier:
org.eclipse.core.runtime.products

Since:
3.0

Description:
Products are the Eclipse unit of branding. Product extensions are supplied by plug-ins wishing to define one or more products. There must be one product per extension as the extension id is used in processing and identifying the product.

There are two possible forms of product extension, static and dynamic. Static product extensions directly contain all relevant information about the product. Dynamic product extensions identify a class (an IProductProvider) which is capable of defining one or more products when queried.

Configuration Markup:

<!ELEMENT extension ((product | provider))>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED

>


<!ELEMENT product (property*)>

<!ATTLIST product

application CDATA #REQUIRED

name        CDATA #REQUIRED

description CDATA #IMPLIED

>


<!ELEMENT property EMPTY>

<!ATTLIST property

name  CDATA #REQUIRED

value CDATA #REQUIRED

>


<!ELEMENT provider (run)>

details of a product provider



<!ELEMENT run EMPTY>

<!ATTLIST run

class CDATA #REQUIRED

>


Examples:
Following is an example of static product declaration:


   <extension id="coolProduct" point="org.eclipse.core.runtime.products"> 
      <product name="%coolName" application="coolApplication" description="%coolDescription"> 
          <property name="windowImages" value="window.gif"/> 
          <property name="aboutImage" value="image.gif"/> 
          <property name="aboutText" value="%aboutText"/> 
          <property name="appName" value="CoolApp"/> 
          <property name="welcomePage" value="$nl$/welcome.xml"/> 
          <property name="preferenceCustomization" value="plugin_customization.ini"/> 
      </product> 
   </extension> 

The following is an example of a dynamic product (product provider) declaration: Following is an example of an application declaration:


   <extension id="coolProvider" point="org.eclipse.core.runtime.products"> 
      <provider> 
         <run class="com.example.productProvider"/> 
      </provider> 
   </extension> 

API Information:
Static product extensions provided here are represented at runtime by instances of IProduct. Dynamic product extensions must identify an implementor of IProductProvider. See org.eclipse.ui.branding.IProductConstants for details of the branding related product properties defined by the Eclipse UI.

Supplied Implementation:
No implementations of IProductProvider are supplied.


Copyright (c) 2004, 2005 IBM Corporation 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