Package org.eclipse.core.runtime
Interface IPluginPrerequisite
-
@Deprecated public interface IPluginPrerequisite
Deprecated.In Eclipse 3.0 the plug-in prerequisite representation was changed. Clients ofIPluginPrerequisite
are directed to the headers associated with the relevant bundle. In particular, theRequire-Bundle
header contains all available information about the prerequisites of a plug-in. Having retrieved the header, theManifestElement
helper class can be used to parse the value and discover the individual prerequisite plug-ins. The various header attributes are defined inConstants
.For example,
String header = bundle.getHeaders().get(Constants.REQUIRE_BUNDLE); ManifestElement[] elements = ManifestElement.parseHeader( Constants.REQUIRE_BUNDLE, header); if (elements == null) return; elements[0].getValue(); // the prerequisite plug-in id elements[0].getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE); // the prerequisite plug-in version ...
See
IPluginDescriptor
for information on the relationship between plug-in descriptors and bundles.This interface must only be used by plug-ins which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
A prerequisite entry declared by a plug-in. The declaration causes classes defined by the prerequisite plug-in to be visible to the plug-in that declared the dependency.- See Also:
IPluginDescriptor.getPluginPrerequisites()
- Restriction:
- This interface is not intended to be implemented by clients. This interface is planned to be deleted, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=544339
- Restriction:
- This interface is not intended to be extended by clients.
- Restriction:
- This interface is not intended to be referenced by clients.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description PluginVersionIdentifier
getResolvedVersionIdentifier()
Deprecated.Callers of this method should interrogate the currentState
of the platform.String
getUniqueIdentifier()
Deprecated.Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by:PluginVersionIdentifier
getVersionIdentifier()
Deprecated.Callers of this method should interrogate the currentState
of the platform.boolean
isExported()
Deprecated.Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by:boolean
isMatchedAsCompatible()
Deprecated.Callers of this method should interrogate the currentState
of the platform.boolean
isMatchedAsEquivalent()
Deprecated.Callers of this method should interrogate the currentState
of the platform.boolean
isMatchedAsExact()
Deprecated.Callers of this method should interrogate the currentState
of the platform.boolean
isMatchedAsGreaterOrEqual()
Deprecated.Callers of this method should interrogate the currentState
of the platform.boolean
isMatchedAsPerfect()
Deprecated.Callers of this method should interrogate the currentState
of the platform.boolean
isOptional()
Deprecated.Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by:
-
-
-
Method Detail
-
getResolvedVersionIdentifier
@Deprecated PluginVersionIdentifier getResolvedVersionIdentifier()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); BundleDescription prereq = spec.getSupplier();
Returns the actual version identifier that is used at runtime to resolve this prerequisite dependency, or null, if the dependency is not resolved.- Returns:
- the plug-in version identifier, or null
-
getUniqueIdentifier
@Deprecated String getUniqueIdentifier()
Deprecated.Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by:element.getValue();
Returns the plug-in identifier of the prerequisite plug-in.- Returns:
- the plug-in identifier
-
getVersionIdentifier
@Deprecated PluginVersionIdentifier getVersionIdentifier()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); Version reqMinVersion = spec.getVersionRange().getMinimum();
Returns the version identifier of the prerequisite plug-in, ornull
if none.- Returns:
- the plug-in version identifier, or
null
if none was specified
-
isExported
@Deprecated boolean isExported()
Deprecated.Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by:element.getAttribute(Constants.REPROVIDE_ATTRIBUTE);
Indicates whether this prerequisite plug-in is further exposed to any plug-ins that declare a dependency on this plug-in. This allows for chaining of dependencies. For example, if plug-in A depends on plug-in B which depends on plug-in C, the classes from C are typically visible to B, but not to A. A can get around this if either B explicitly exports its dependency on C, or A explicitly declares C as a prerequisite in addition to B.- Returns:
true
if this prerequisite plug-in is exposed,false
otherwise
-
isMatchedAsGreaterOrEqual
@Deprecated boolean isMatchedAsGreaterOrEqual()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); VersionRange versionRange = spec.getVersionRange(); if (versionRange == null || versionRange.getMinimum() == null) return false; Version minimum = versionRange.getMinimum(); Version maximum = versionRange.getMaximum() == null ? Version.maxVersion : versionRange.getMaximum(); if (maximum.equals(Version.maxVersion)) return true; return false;
Indicates that this plug-in prerequisite can be resolved against a configured plug-in with an identifier that is greater than or equal to it.- Returns:
true
if greater or equal match is allowed,false
otherwise.- Since:
- 2.0
-
isMatchedAsCompatible
@Deprecated boolean isMatchedAsCompatible()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); VersionRange versionRange = spec.getVersionRange(); if (versionRange == null || versionRange.getMinimum() == null) return false; Version minimum = versionRange.getMinimum(); Version maximum = versionRange.getMaximum() == null ? Version.maxVersion : versionRange.getMaximum(); if (!minimum.isInclusive() || maximum.isInclusive()) return false; else if (minimum.getMajorComponent() == maximum.getMajorComponent() - 1) return true; return false;
Indicates that this plug-in prerequisite can be resolved against a configured plug-in with a compatible identifier.- Returns:
true
if compatible match is allowed,false
if exact match is required.
-
isMatchedAsEquivalent
@Deprecated boolean isMatchedAsEquivalent()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); VersionRange versionRange = spec.getVersionRange(); if (versionRange == null || versionRange.getMinimum() == null) return false; Version minimum = versionRange.getMinimum(); Version maximum = versionRange.getMaximum() == null ? Version.maxVersion : versionRange.getMaximum(); if (!minimum.isInclusive() || maximum.isInclusive()) return false; else if (minimum.getMajorComponent() == maximum.getMajorComponent() - 1) return false; else if (minimum.getMajorComponent() != maximum.getMajorComponent()) return false; else if (minimum.getMinorComponent() == maximum.getMinorComponent() - 1) return true; return false;
Indicates that this plug-in prerequisite can only be resolved against a configured plug-in with an equivalent plug-in identifier.- Returns:
true
if only equivalent identifier match satisfies this dependency,false
otherwise.- Since:
- 2.0
-
isMatchedAsPerfect
@Deprecated boolean isMatchedAsPerfect()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); VersionRange versionRange = spec.getVersionRange(); if (versionRange == null || versionRange.getMinimum() == null) return false; Version minimum = versionRange.getMinimum(); Version maximum = versionRange.getMaximum() == null ? Version.maxVersion : versionRange.getMaximum(); if (minimum.equals(maximum)) return true; return false;
Indicates that this plug-in prerequisite can only be resolved against a configured plug-in with a plug-in identifier that is perfectly equal.- Returns:
true
if only perfectly equal identifier match satisfies this dependency,false
otherwise.- Since:
- 2.0
-
isMatchedAsExact
@Deprecated boolean isMatchedAsExact()
Deprecated.Callers of this method should interrogate the currentState
of the platform. For example,State state = Platform.getPlatformAdmin().getState(); BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version); BundleSpecification spec = bundle.getRequiredBundle("required plug-in id"); VersionRange versionRange = spec.getVersionRange(); if (versionRange == null || versionRange.getMinimum() == null) return false; Version minimum = versionRange.getMinimum(); Version maximum = versionRange.getMaximum() == null ? Version.maxVersion : versionRange.getMaximum(); if (!minimum.isInclusive() || maximum.isInclusive()) return false; else if (minimum.getMajorComponent() == maximum.getMajorComponent() - 1) return false; else if (minimum.getMajorComponent() != maximum.getMajorComponent()) return false; else if (minimum.getMinorComponent() == maximum.getMinorComponent() - 1) return true; return false;
Indicates that this plug-in prerequisite can only be resolved against a configured plug-in with exactly the same plug-in identifier.- Returns:
true
if only exact identifier match satisfies this dependency,false
if compatible plug-in will satisfy this dependency.
-
isOptional
@Deprecated boolean isOptional()
Deprecated.Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by:"true".equals(element.getAttribute(Constants.OPTIONAL_ATTRIBUTE);
Indicates whether this plug-in prerequisite is optional. If a required (i.e., non-optional) prerequisite is missing, this plugin is disabled.- Returns:
true
if this prerequisite is optional,false
otherwise
-
-