KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > core > runtime > IBundleGroup


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 import org.osgi.framework.Bundle;
14
15 /**
16  * Bundle groups represent a logical collection of plug-ins (aka bundles). Bundle
17  * groups do not contain their constituents but rather collect them together under
18  * a common label. The main role of a bundle group is to report to the system
19  * (e.g., the About dialog) what bundles have been installed. They are not intended
20  * for use in managing the set of bundles they represent.
21  * <p>
22  * Since the bulk of the branding related information is specific to the consumer,
23  * bundle groups also carry an arbitrary set of properties. The valid set of
24  * key-value pairs and their interpretation defined by the consumer in the
25  * target environment.
26  * </p><p>
27  * The Eclipse UI is the typical consumer of bundle groups and defines various
28  * property keys that it will use, for example, to display About information. See
29  * <code>org.eclipse.ui.branding.IBundleGroupConstants</code>.
30  * </p>
31  * @see IBundleGroupProvider
32  * @since 3.0
33  */

34 public interface IBundleGroup {
35
36     /**
37      * Returns the identifier of this bundle group. Bundle groups are uniquely identified by the combination of
38      * their identifier and their version.
39      *
40      * @see #getVersion()
41      * @return the identifier for this bundle group
42      */

43     public String JavaDoc getIdentifier();
44
45     /**
46      * Returns the human-readable name of this bundle group.
47      *
48      * @return the human-readable name
49      */

50     public String JavaDoc getName();
51
52     /**
53      * Returns the version of this bundle group. Bundle group version strings have the same format as
54      * bundle versions (i.e., major.minor.service.qualifier). Bundle groups are uniquely identified
55      * by the combination of their identifier and their version.
56      *
57      * @see #getIdentifier()
58      * @return the string form of this bundle group's version
59      */

60     public String JavaDoc getVersion();
61
62     /**
63      * Returns a text description of this bundle group.
64      *
65      * @return text description of this bundle group
66      */

67     public String JavaDoc getDescription();
68
69     /**
70      * Returns the name of the provider of this bundle group.
71      *
72      * @return the name of the provider or <code>null</code> if none
73      */

74     public String JavaDoc getProviderName();
75
76     /**
77      * Returns a list of all bundles supplied by this bundle group.
78      *
79      * @return the bundles supplied by this bundle group
80      */

81     public Bundle[] getBundles();
82
83     /**
84      * Returns the property of this bundle group with the given key.
85      * <code>null</code> is returned if there is no such key/value pair.
86      *
87      * @param key the name of the property to return
88      * @return the value associated with the given key or <code>null</code> if none
89      */

90     public String JavaDoc getProperty(String JavaDoc key);
91 }
92
Popular Tags