All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.core.runtime.IProduct Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *  Copyright (c) 2004, 2007 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
 *
 *  Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.core.runtime;

import org.osgi.framework.Bundle;

/**
 * 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. *

* * @see IProductProvider * @since 3.0 */ public interface IProduct { /** * Returns the application associated with this product. This information is used * to guide the runtime as to what application extension to create and execute. * * @return this product's application or null if none */ public String getApplication(); /** * Returns the name of this product. The name is typically used in the title * bar of UI windows. * * @return the name of this product or null if none */ public String getName(); /** * Returns the text description of this product * * @return the description of this product or null if none */ public String getDescription(); /** Returns the unique product id of this product. * * @return the id of this product */ public String getId(); /** * Returns the property of this product with the given key. * null is returned if there is no such key/value pair. * * @param key the name of the property to return * @return the value associated with the given key or null if none */ public String getProperty(String key); /** * 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. * * @return the bundle which defines this product or null if none */ public Bundle getDefiningBundle(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy