public class ExtensionTracker extends Object implements IExtensionTracker, IRegistryChangeListener
This class can be used without OSGi running.
IExtensionTracker
REF_SOFT, REF_STRONG, REF_WEAK
Constructor and Description |
---|
ExtensionTracker()
Construct a new instance of the extension tracker.
|
ExtensionTracker(IExtensionRegistry theRegistry)
Construct a new instance of the extension tracker using the given registry
containing tracked extensions and extension points.
|
Modifier and Type | Method and Description |
---|---|
protected void |
applyAdd(IExtensionChangeHandler handler,
IExtension extension) |
protected void |
applyRemove(IExtensionChangeHandler handler,
IExtension removedExtension,
Object[] removedObjects) |
void |
close()
Close the tracker.
|
static IFilter |
createExtensionPointFilter(IExtensionPoint xpt)
Return an instance of filter matching all changes for the given extension point.
|
static IFilter |
createExtensionPointFilter(IExtensionPoint[] xpts)
Return an instance of filter matching all changes for the given extension points.
|
static IFilter |
createNamespaceFilter(String id)
Return an instance of filter matching all changes from a given plugin.
|
Object[] |
getObjects(IExtension element)
Return all the objects that have been associated with the given extension.
|
void |
registerHandler(IExtensionChangeHandler handler,
IFilter filter)
Register an extension change handler with this tracker using the given filter.
|
void |
registerObject(IExtension element,
Object object,
int referenceType)
Create an association between the given extension and the given object.
|
void |
registryChanged(IRegistryChangeEvent event)
Implementation of IRegistryChangeListener interface.
|
void |
unregisterHandler(IExtensionChangeHandler handler)
Unregister the given extension change handler previously registered with this tracker.
|
Object[] |
unregisterObject(IExtension extension)
Remove all the objects associated with the given extension.
|
void |
unregisterObject(IExtension extension,
Object object)
Remove an association between the given extension and the given object.
|
public ExtensionTracker()
public ExtensionTracker(IExtensionRegistry theRegistry)
theRegistry
- the extension registry to trackpublic void registerHandler(IExtensionChangeHandler handler, IFilter filter)
IExtensionTracker
registerHandler
in interface IExtensionTracker
handler
- the handler to be registeredfilter
- the filter to use to choose interesting changespublic void unregisterHandler(IExtensionChangeHandler handler)
IExtensionTracker
unregisterHandler
in interface IExtensionTracker
handler
- the handler to be unregisteredpublic void registerObject(IExtension element, Object object, int referenceType)
IExtensionTracker
IExtensionTracker.REF_STRONG
, IExtensionTracker.REF_SOFT
, IExtensionTracker.REF_WEAK
.registerObject
in interface IExtensionTracker
element
- the extensionobject
- the object to associate with the extensionreferenceType
- one of REF_STRONG, REF_SOFT, REF_WEAKIExtensionTracker.REF_STRONG
,
IExtensionTracker.REF_SOFT
,
IExtensionTracker.REF_WEAK
public void registryChanged(IRegistryChangeEvent event)
This method must not be called by clients.
registryChanged
in interface IRegistryChangeListener
event
- the registry change eventIRegistryChangeEvent
protected void applyAdd(IExtensionChangeHandler handler, IExtension extension)
protected void applyRemove(IExtensionChangeHandler handler, IExtension removedExtension, Object[] removedObjects)
public Object[] getObjects(IExtension element)
IExtensionTracker
getObjects
in interface IExtensionTracker
element
- the extension for which the object must be returnedpublic void close()
IExtensionTracker
close
in interface IExtensionTracker
public void unregisterObject(IExtension extension, Object object)
IExtensionTracker
unregisterObject
in interface IExtensionTracker
extension
- the extension under which the object has been registeredobject
- the object to unregisterpublic Object[] unregisterObject(IExtension extension)
IExtensionTracker
unregisterObject
in interface IExtensionTracker
extension
- the extension for which the objects are removedpublic static IFilter createExtensionPointFilter(IExtensionPoint xpt)
xpt
- the extension pointpublic static IFilter createExtensionPointFilter(IExtensionPoint[] xpts)
xpts
- the extension points used to filter
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.