| /******************************************************************************* |
| * Copyright (c) 2004, 2006 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; |
| |
| /** |
| * Bundle groups represent a logical collection of plug-ins (aka bundles). Bundle |
| * groups do not contain their constituents but rather collect them together under |
| * a common label. The main role of a bundle group is to report to the system |
| * (e.g., the About dialog) what bundles have been installed. They are not intended |
| * for use in managing the set of bundles they represent. |
| * <p> |
| * Since the bulk of the branding related information is specific to the consumer, |
| * bundle groups also carry an arbitrary set of properties. The valid set of |
| * key-value pairs and their interpretation defined by the consumer in the |
| * target environment. |
| * </p><p> |
| * The Eclipse UI is the typical consumer of bundle groups and defines various |
| * property keys that it will use, for example, to display About information. See |
| * <code>org.eclipse.ui.branding.IBundleGroupConstants</code>. |
| * </p> |
| * @see IBundleGroupProvider |
| * @since 3.0 |
| */ |
| public interface IBundleGroup { |
| |
| /** |
| * Returns the identifier of this bundle group. Bundle groups are uniquely identified by the combination of |
| * their identifier and their version. |
| * |
| * @see #getVersion() |
| * @return the identifier for this bundle group |
| */ |
| public String getIdentifier(); |
| |
| /** |
| * Returns the human-readable name of this bundle group. |
| * |
| * @return the human-readable name |
| */ |
| public String getName(); |
| |
| /** |
| * Returns the version of this bundle group. Bundle group version strings have the same format as |
| * bundle versions (i.e., major.minor.service.qualifier). Bundle groups are uniquely identified |
| * by the combination of their identifier and their version. |
| * |
| * @see #getIdentifier() |
| * @return the string form of this bundle group's version |
| */ |
| public String getVersion(); |
| |
| /** |
| * Returns a text description of this bundle group. |
| * |
| * @return text description of this bundle group |
| */ |
| public String getDescription(); |
| |
| /** |
| * Returns the name of the provider of this bundle group. |
| * |
| * @return the name of the provider or <code>null</code> if none |
| */ |
| public String getProviderName(); |
| |
| /** |
| * Returns a list of all bundles supplied by this bundle group. |
| * |
| * @return the bundles supplied by this bundle group |
| */ |
| public Bundle[] getBundles(); |
| |
| /** |
| * Returns the property of this bundle group with the given key. |
| * <code>null</code> 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 <code>null</code> if none |
| */ |
| public String getProperty(String key); |
| } |