1 /******************************************************************************* 2 * Copyright (c) 2004, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.core.runtime; 12 13 /** 14 * Product providers define products (units of branding) which have been installed in 15 * the current system. Typically, a configuration agent (i.e., plug-in installer) will 16 * define a product provider so that it can report to the system the products it has installed. 17 * <p> 18 * Products are normally defined and installed in the system using extensions to the 19 * <code>org.eclipse.core.runtime.products</code> extension point. In cases where 20 * the notion of product is defined by alternate means (e.g., primary feature), an <code>IProductProvider</code> 21 * can be installed in this extension point using an executable extension. The provider 22 * then acts as a proxy for the product extensions that represent the products installed. 23 * </p> 24 * 25 * @see IProduct 26 * @since 3.0 27 */ 28 public interface IProductProvider { 29 /** 30 * Returns the human-readable name of this product provider. 31 * 32 * @return the name of this product provider 33 */ 34 public String getName(); 35 36 /** 37 * Returns the products provided by this provider. 38 * 39 * @return the products provided by this provider 40 */ 41 public IProduct[] getProducts(); 42 } 43