Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.core.runtime
Interface IExtension


public interface IExtension

An extension declared in a plug-in. All information is obtained from the declaring plug-in's manifest (plugin.xml) file.

These registry objects are intended for relatively short-term use. Clients that deal with these objects must be aware that they may become invalid if the declaring plug-in is updated or uninstalled. If this happens, all methods except isValid() will throw InvalidRegistryObjectException. For extension objects, the most common case is code in a plug-in dealing with extensions contributed to one of the extension points it declares. Code in a plug-in that has declared that it is not dynamic aware (or not declared anything) can safely ignore this issue, since the registry would not be modified while it is active. However, code in a plug-in that declares that it is dynamic aware must be careful when accessing the extension objects because they become invalid if the contributing plug-in is removed. Similarly, tools that analyze or display the extension registry are vulnerable. Client code can pre-test for invalid objects by calling isValid(), which never throws this exception. However, pre-tests are usually not sufficient because of the possibility of the extension object becoming invalid as a result of a concurrent activity. At-risk clients must treat InvalidRegistryObjectException as if it were a checked exception. Also, such clients should probably register a listener with the extension registry so that they receive notification of any changes to the registry.

This interface can be used without OSGi running.

This interface is not intended to be implemented by clients.

Restriction:
This interface is not intended to be implemented by clients.

Method Summary
 boolean equals ( Object o)
           
  IConfigurationElement[] getConfigurationElements ()
          Returns all configuration elements declared by this extension.
  IContributor getContributor ()
          Returns the contributor of this extension.
  String getExtensionPointUniqueIdentifier ()
          Returns the unique identifier of the extension point to which this extension should be contributed.
  String getLabel ()
          Returns a displayable label for this extension.
  String getNamespace ()
          Deprecated. As namespace is no longer restricted to the contributor name, use getNamespaceIdentifier() to obtain namespace name or getContributor() to get the name of the contributor of this registry element.

In the past namespace was dictated by the name of the bundle. If bundle org.abc contributed registry element with Id of MyId, the namespace of the element was always set to org.abc, producing the qualified name of org.abc.MyId.

The namespace used to be the same as the bundle name. As a result, the getNamespace() method was used both to obtain the name of the bundle and to obtain the namespace of a registry element.

Since 3.2, the extension registry allows elements to specify qualified name. The extension point of the plug-in org.abc could specify org.zzz.MyExtPoint as an Id. In this case, namespace name is org.zzz, but the contributor name is org.abc.

(The use of a simple Id is still a preferred way. Whenever possible, specify only the simple Id and let runtime take care of the rest.)

If your code used the getNamespace() to obtain the name of the contributing bundle, use getContributor(). The typical usage pattern here is to find a bundle name to obtain some information from the corresponding OSGi bundle. For example, deducing the file location specified as a relative path to the bundle install location would fall into this group.

If your code used the getNamespace() to obtain the namespace of the registry element, use getNamespaceIdentifier(). Typically, this is the case when code is trying to process registry elements belonging to some logical group. For example, processing notifications for all elements belonging to the org.abc namespace would fall into this category.

  String getNamespaceIdentifier ()
          Returns the namespace name for this extension.
  String getSimpleIdentifier ()
          Returns the simple identifier of this extension, or null if this extension does not have an identifier.
  String getUniqueIdentifier ()
          Returns the unique identifier of this extension, or null if this extension does not have an identifier.
 boolean isValid ()
          Returns whether this extension object is valid.
 

Method Detail

getConfigurationElements

IConfigurationElement[] getConfigurationElements()
                                                 throws 
InvalidRegistryObjectException
Returns all configuration elements declared by this extension. These elements are a direct reflection of the configuration markup supplied in the manifest (plugin.xml) file for the plug-in that declares this extension. Returns an empty array if this extension does not declare any configuration elements.

Returns:
the configuration elements declared by this extension
Throws:
InvalidRegistryObjectException - if this extension is no longer valid

getNamespace

String getNamespace()
                    throws 
InvalidRegistryObjectException
Deprecated. As namespace is no longer restricted to the contributor name, use getNamespaceIdentifier() to obtain namespace name or getContributor() to get the name of the contributor of this registry element.

In the past namespace was dictated by the name of the bundle. If bundle org.abc contributed registry element with Id of MyId, the namespace of the element was always set to org.abc, producing the qualified name of org.abc.MyId.

The namespace used to be the same as the bundle name. As a result, the getNamespace() method was used both to obtain the name of the bundle and to obtain the namespace of a registry element.

Since 3.2, the extension registry allows elements to specify qualified name. The extension point of the plug-in org.abc could specify org.zzz.MyExtPoint as an Id. In this case, namespace name is org.zzz, but the contributor name is org.abc.

(The use of a simple Id is still a preferred way. Whenever possible, specify only the simple Id and let runtime take care of the rest.)

If your code used the getNamespace() to obtain the name of the contributing bundle, use getContributor(). The typical usage pattern here is to find a bundle name to obtain some information from the corresponding OSGi bundle. For example, deducing the file location specified as a relative path to the bundle install location would fall into this group.

If your code used the getNamespace() to obtain the namespace of the registry element, use getNamespaceIdentifier(). Typically, this is the case when code is trying to process registry elements belonging to some logical group. For example, processing notifications for all elements belonging to the org.abc namespace would fall into this category.

Returns the namespace for this extension. This value can be used in various global facilities to discover this extension's provider.

Returns:
the namespace for this extension
Throws:
InvalidRegistryObjectException - if this extension is no longer valid
Since:
3.0
See Also:
IExtensionRegistry

getNamespaceIdentifier

String getNamespaceIdentifier()
                              throws 
InvalidRegistryObjectException
Returns the namespace name for this extension.

Returns:
the namespace name for this extension
Throws:
InvalidRegistryObjectException - if this extension is no longer valid
Since:
org.eclipse.equinox.registry 3.2

getContributor

IContributor getContributor()
                            throws 
InvalidRegistryObjectException
Returns the contributor of this extension.

Returns:
the contributor for this extension
Throws:
InvalidRegistryObjectException - if this extension is no longer valid
Since:
org.eclipse.equinox.registry 3.2

getExtensionPointUniqueIdentifier

String getExtensionPointUniqueIdentifier()
                                         throws 
InvalidRegistryObjectException
Returns the unique identifier of the extension point to which this extension should be contributed.

Returns:
the unique identifier of the relevant extension point
Throws:
InvalidRegistryObjectException - if this extension is no longer valid

getLabel

String getLabel()
                throws 
InvalidRegistryObjectException
Returns a displayable label for this extension. Returns the empty string if no label for this extension is specified in the plug-in manifest file.

Note that any translation specified in the plug-in manifest file is automatically applied.

Returns:
a displayable string label for this extension, possibly the empty string
Throws:
InvalidRegistryObjectException - if this extension is no longer valid

getSimpleIdentifier

String getSimpleIdentifier()
                           throws 
InvalidRegistryObjectException
Returns the simple identifier of this extension, or null if this extension does not have an identifier. This identifier is specified in the plug-in manifest (plugin.xml) file as a non-empty string containing no period characters ('.') and must be unique within the namespace.

Returns:
the simple identifier of the extension (e.g. "main") or null
Throws:
InvalidRegistryObjectException - if this extension is no longer valid

getUniqueIdentifier

String getUniqueIdentifier()
                           throws 
InvalidRegistryObjectException
Returns the unique identifier of this extension, or null if this extension does not have an identifier. If available, this identifier is unique within the plug-in registry, and is composed of the namespace where this extension was declared and this extension's simple identifier.

Returns:
the unique identifier of the extension (e.g. "com.example.acme.main"), or null
Throws:
InvalidRegistryObjectException - if this extension is no longer valid

equals

boolean equals(
Object o)
Overrides:
equals in class Object

isValid

boolean isValid()
Returns whether this extension object is valid.

Returns:
true if the object is valid, and false if it is no longer valid
Since:
3.1

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire