|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
An extension point declared in a plug-in.
Except for the list of extensions plugged in to it, the information
available for an extension point 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 point objects, the most common case is code in a plug-in dealing
with one of the extension points it declares. These extension point objects are
guaranteed to be valid while the plug-in is active. Code in a plug-in that has
declared that it is not dynamic aware (or not declared anything) can also 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 if it access the extension point object of a different plug-in,
because it's at risk if that other 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 point 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 is not intended to be implemented by clients.
Method Summary | |
---|---|
boolean |
equals(Object o)
|
IConfigurationElement[] |
getConfigurationElements()
Returns all configuration elements from all extensions configured into this extension point. |
IPluginDescriptor |
getDeclaringPluginDescriptor()
Deprecated. IPluginDescriptor is not part of the new runtime and its function has been split over several parts of the new runtime. This method is not available (returns null) if the compatibility layer is not installed. Use getNamespace() to get the symbolic id of the declaring plugin. See IPluginDescriptor to see how to
update your use-cases. |
IExtension |
getExtension(String extensionId)
Returns the extension with the given unique identifier configured into this extension point, or null if there is no such extension.
|
IExtension[] |
getExtensions()
Returns all extensions configured into this extension point. |
String |
getLabel()
Returns a displayable label for this extension point. |
String |
getNamespace()
Returns the namespace for this extension point. |
String |
getSchemaReference()
Returns reference to the extension point schema. |
String |
getSimpleIdentifier()
Returns the simple identifier of this extension point. |
String |
getUniqueIdentifier()
Returns the unique identifier of this extension point. |
boolean |
isValid()
Returns whether this extension point object is valid. |
Method Detail |
public IConfigurationElement[] getConfigurationElements() throws InvalidRegistryObjectException
InvalidRegistryObjectException
- if this extension point is no longer validpublic IPluginDescriptor getDeclaringPluginDescriptor() throws InvalidRegistryObjectException
IPluginDescriptor
to see how to
update your use-cases.
InvalidRegistryObjectException
- if this extension point is no longer validpublic String getNamespace() throws InvalidRegistryObjectException
InvalidRegistryObjectException
- if this extension point is no longer validPlatform.getBundle(String)
,
IExtensionRegistry
public IExtension getExtension(String extensionId) throws InvalidRegistryObjectException
null
if there is no such extension.
Since an extension might not have an identifier, some extensions
can only be found via the getExtensions
method.
extensionId
- the unique identifier of an extension
(e.g. "com.example.acme.main"
).
null
InvalidRegistryObjectException
- if this extension point is no longer validpublic IExtension[] getExtensions() throws InvalidRegistryObjectException
InvalidRegistryObjectException
- if this extension point is no longer validpublic String getLabel() throws InvalidRegistryObjectException
Note that any translation specified in the plug-in manifest file is automatically applied.
InvalidRegistryObjectException
- if this extension point is no longer validpublic String getSchemaReference() throws InvalidRegistryObjectException
InvalidRegistryObjectException
- if this extension point is no longer validpublic String getSimpleIdentifier() throws InvalidRegistryObjectException
'.'
) and is guaranteed
to be unique within the defining plug-in.
"builders"
)
InvalidRegistryObjectException
- if this extension point is no longer validpublic String getUniqueIdentifier() throws InvalidRegistryObjectException
"org.eclipse.core.resources.builders"
)
InvalidRegistryObjectException
- if this extension point is no longer validpublic boolean equals(Object o)
public boolean isValid()
true
if the object is valid, and false
if it is no longer valid
|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.