Package org.eclipse.core.runtime

# Interface IProduct

public interface IProduct
Products are the Eclipse unit of branding. From the runtime point of view they have a name, id and description and identify the Eclipse application to run.

Since the bulk of the branding related information is specific to the UI, products also carry an arbitrary set of properties. The valid set of key-value pairs and their interpretation defined by the UI of the target environment. For example, in the standard Eclipse UI, `org.eclipse.ui.branding.IProductConstants` the properties of interest to the UI. Other clients may specify additional properties.

Products can be defined directly using extensions to the `org.eclipse.core.runtime.products` extension point or by using facilities provided by IProductProvider implementations.

For readers familiar with Eclipse 2.1 and earlier, products are roughly equivalent to primary features.

Since:
  3.0
See Also:
  - `IProductProvider`

## Method Summary

Modifier and Type
Method
Description
`String`
`getApplication()`
Returns the application associated with this product.
`Bundle`
`getDefiningBundle()`
Returns the bundle which is responsible for the definition of this product.
`String`
`getDescription()`
Returns the text description of this product
`String`
`getId()`
Returns the unique product id of this product.
`String`
`getName()`
Returns the name of this product.
`String`
`getProperty(String key)`
Returns the property of this product with the given key.

## Method Details

### getApplication

String getApplication()
Returns the application associated with this product. This information is used to guide the runtime as to what application extension to create and execute.

Returns:
  this product's application or `null` if none

### getName

String getName()
Returns the name of this product. The name is typically used in the title bar of UI windows.

Returns:
  the name of this product or `null` if none

### getDescription

String getDescription()
Returns the text description of this product

Returns:
  the description of this product or `null` if none

### getId

String getId()
Returns the unique product id of this product.

Returns:
  the id of this product

### getProperty

String getProperty(String key)
Returns the property of this product with the given key. `null` is returned if there is no such key/value pair.

Parameters:
  `key` - the name of the property to return
Returns:
  the value associated with the given key or `null` if none

### getDefiningBundle

Bundle getDefiningBundle()
Returns the bundle which is responsible for the definition of this product. Typically this is used as a base for searching for images and other files that are needed in presenting the product.

Returns:
  the bundle which defines this product or `null` if none