Eclipse PDE
Release 3.6

org.eclipse.pde.core.plugin
Class PluginRegistry

java.lang.Object
  extended by org.eclipse.pde.core.plugin.PluginRegistry

public class PluginRegistry
extends Object

The central access point for models representing plug-ins found in the workspace and in the targret platform.

This class provides static methods only; it is not intended to be instantiated or subclassed by clients.

Since:
3.3
Restriction:
This class is not intended to be subclassed by clients.
Restriction:
This class is not intended to be instantiated by clients.

Nested Class Summary
static class PluginRegistry.PluginFilter
          Filter used when searching for plug-in models.
 
Constructor Summary
PluginRegistry()
           
 
Method Summary
static ModelEntry findEntry(String id)
          Returns a model entry containing all workspace and target plug-ins by the given ID
static IPluginModelBase findModel(BundleDescription desc)
          Returns a plug-in model associated with the given bundle description
static IPluginModelBase findModel(IProject project)
          Returns the plug-in model corresponding to the given project, or null if the project does not represent a plug-in project or if it contains a manifest file that is malformed or missing vital information.
static IPluginModelBase findModel(String id)
          Returns the plug-in model for the best match plug-in with the given ID.
static IPluginModelBase findModel(String id, String version, int match, PluginRegistry.PluginFilter filter)
          Returns a model matching the given id, version, match rule, and optional filter, or null if none.
static IPluginModelBase findModel(String id, VersionRange range, PluginRegistry.PluginFilter filter)
          Returns a model matching the given id, version range, and optional filter, or null if none.
static IPluginModelBase[] findModels(String id, String version, int match, PluginRegistry.PluginFilter filter)
          Returns all models matching the given id, version, match rule, and optional filter.
static IPluginModelBase[] findModels(String id, VersionRange range, PluginRegistry.PluginFilter filter)
          Returns all models matching the given id, version range, and optional filter.
static IPluginModelBase[] getActiveModels()
          Returns all plug-ins and fragments in the workspace as well as all plug-ins and fragments that are checked on the Target Platform preference page.
static IPluginModelBase[] getActiveModels(boolean includeFragments)
          Returns all plug-ins and (possibly) fragments in the workspace as well as all plug-ins and (possibly) fragments that are checked on the Target Platform preference page.
static IPluginModelBase[] getAllModels()
          Returns all plug-ins and fragments in the workspace as well as all target plug-ins and fragments, regardless whether or not they are checked or not on the Target Platform preference page.
static IPluginModelBase[] getAllModels(boolean includeFragments)
          Returns all plug-ins and (possibly) fragments in the workspace as well as all plug-ins and (possibly) fragments, regardless whether or not they are checked on the Target Platform preference page.
static IPluginModelBase[] getExternalModels()
          Return the model manager that keeps track of plug-ins in the target platform
static IPluginModelBase[] getWorkspaceModels()
          Returns all plug-in models in the workspace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginRegistry

public PluginRegistry()
Method Detail

findEntry

public static ModelEntry findEntry(String id)
Returns a model entry containing all workspace and target plug-ins by the given ID

Parameters:
id - the plug-in ID
Returns:
a model entry containing all workspace and target plug-ins by the given ID

findModel

public static IPluginModelBase findModel(String id)
Returns the plug-in model for the best match plug-in with the given ID. A null value is returned if no such bundle is found in the workspace or target platform.

A workspace plug-in is always preferably returned over a target plug-in. A plug-in that is checked/enabled on the Target Platform preference page is always preferably returned over a target plug-in that is unchecked/disabled.

In the case of a tie among workspace plug-ins or among target plug-ins, the plug-in with the highest version is returned.

In the case of a tie among more than one suitable plug-in that have the same version, one of those plug-ins is randomly returned.

Parameters:
id - the plug-in ID
Returns:
the plug-in model for the best match plug-in with the given ID

findModel

public static IPluginModelBase findModel(IProject project)
Returns the plug-in model corresponding to the given project, or null if the project does not represent a plug-in project or if it contains a manifest file that is malformed or missing vital information.

Parameters:
project - the project
Returns:
a plug-in model corresponding to the project or null if the project is not a plug-in project

findModel

public static IPluginModelBase findModel(BundleDescription desc)
Returns a plug-in model associated with the given bundle description

Parameters:
desc - the bundle description
Returns:
a plug-in model associated with the given bundle description or null if none exists

getActiveModels

public static IPluginModelBase[] getActiveModels()
Returns all plug-ins and fragments in the workspace as well as all plug-ins and fragments that are checked on the Target Platform preference page.

If a workspace plug-in/fragment has the same ID as a target plug-in/fragment, the target counterpart is skipped and not included.

Equivalent to getActiveModels(true)

Returns:
all plug-ins and fragments in the workspace as well as all plug-ins and fragments that are checked on the Target Platform preference page.

getActiveModels

public static IPluginModelBase[] getActiveModels(boolean includeFragments)
Returns all plug-ins and (possibly) fragments in the workspace as well as all plug-ins and (possibly) fragments that are checked on the Target Platform preference page.

If a workspace plug-in/fragment has the same ID as a target plug-in, the target counterpart is skipped and not included.

The returned result includes fragments only if includeFragments is set to true

Parameters:
includeFragments - a boolean indicating if fragments are desired in the returned result
Returns:
all plug-ins and (possibly) fragments in the workspace as well as all plug-ins and (possibly) fragments that are checked on the Target Platform preference page.

getAllModels

public static IPluginModelBase[] getAllModels()
Returns all plug-ins and fragments in the workspace as well as all target plug-ins and fragments, regardless whether or not they are checked or not on the Target Platform preference page.

If a workspace plug-in/fragment has the same ID as a target plug-in, the target counterpart is skipped and not included.

Equivalent to getAllModels(true)

Returns:
all plug-ins and fragments in the workspace as well as all target plug-ins and fragments, regardless whether or not they are checked on the Target Platform preference page.

getAllModels

public static IPluginModelBase[] getAllModels(boolean includeFragments)
Returns all plug-ins and (possibly) fragments in the workspace as well as all plug-ins and (possibly) fragments, regardless whether or not they are checked on the Target Platform preference page.

If a workspace plug-in/fragment has the same ID as a target plug-in/fragment, the target counterpart is skipped and not included.

The returned result includes fragments only if includeFragments is set to true

Parameters:
includeFragments - a boolean indicating if fragments are desired in the returned result
Returns:
ll plug-ins and (possibly) fragments in the workspace as well as all plug-ins and (possibly) fragments, regardless whether or not they are checked on the Target Platform preference page.

getWorkspaceModels

public static IPluginModelBase[] getWorkspaceModels()
Returns all plug-in models in the workspace

Returns:
all plug-in models in the workspace

getExternalModels

public static IPluginModelBase[] getExternalModels()
Return the model manager that keeps track of plug-ins in the target platform

Returns:
the model manager that keeps track of plug-ins in the target platform

findModel

public static IPluginModelBase findModel(String id,
                                         String version,
                                         int match,
                                         PluginRegistry.PluginFilter filter)
Returns a model matching the given id, version, match rule, and optional filter, or null if none. p> A workspace plug-in is always preferably returned over a target plug-in. A plug-in that is checked/enabled on the Target Platform preference page is always preferably returned over a target plug-in that is unchecked/disabled.

In the case of a tie among workspace plug-ins or among target plug-ins, the plug-in with the highest version is returned.

In the case of a tie among more than one suitable plug-in that have the same version, one of those plug-ins is randomly returned.

Parameters:
id - symbolic name of a plug-in to find
version - minimum version, or null to only match on symbolic name
match - one of IMatchRules.COMPATIBLE, IMatchRules.EQUIVALENT, IMatchRules.GREATER_OR_EQUAL, IMatchRules.PERFECT, or IMatchRules.NONE when a version is unspecified
filter - a plug-in filter or null
Returns:
a matching model or null
Since:
3.6

findModels

public static IPluginModelBase[] findModels(String id,
                                            String version,
                                            int match,
                                            PluginRegistry.PluginFilter filter)
Returns all models matching the given id, version, match rule, and optional filter.

Target (external) plug-ins/fragments with the same ID as workspace counterparts are not considered.

Returns plug-ins regardless of whether they are checked/enabled or unchecked/disabled on the Target Platform preference page.

Parameters:
id - symbolic name of a plug-ins to find
version - minimum version, or null to only match on symbolic name
match - one of IMatchRules.COMPATIBLE, IMatchRules.EQUIVALENT, IMatchRules.GREATER_OR_EQUAL, IMatchRules.PERFECT, or IMatchRules.NONE when a version is unspecified
filter - a plug-in filter or null
Returns:
a matching models, possibly an empty collection
Since:
3.6

findModel

public static IPluginModelBase findModel(String id,
                                         VersionRange range,
                                         PluginRegistry.PluginFilter filter)
Returns a model matching the given id, version range, and optional filter, or null if none.

A workspace plug-in is always preferably returned over a target plug-in. A plug-in that is checked/enabled on the Target Platform preference page is always preferably returned over a target plug-in that is unchecked/disabled.

In the case of a tie among workspace plug-ins or among target plug-ins, the plug-in with the highest version is returned.

In the case of a tie among more than one suitable plug-in that have the same version, one of those plug-ins is randomly returned.

Parameters:
id - symbolic name of plug-in to find
range - acceptable version range to match, or null for any range
filter - a plug-in filter or null
Returns:
a matching model or null
Since:
3.6

findModels

public static IPluginModelBase[] findModels(String id,
                                            VersionRange range,
                                            PluginRegistry.PluginFilter filter)
Returns all models matching the given id, version range, and optional filter.

Target (external) plug-ins/fragments with the same ID as workspace counterparts are not considered.

Returns plug-ins regardless of whether they are checked/enabled or unchecked/disabled on the Target Platform preference page.

Parameters:
id - symbolic name of plug-ins to find
range - acceptable version range to match, or null for any range
filter - a plug-in filter or null
Returns:
a matching models, possibly empty
Since:
3.6

Eclipse PDE
Release 3.6

Guidelines for using Eclipse APIs.

Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.