|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
IPluginPrerequisite
are directed to the headers associated with the relevant bundle.
In particular, the Require-Bundle
header contains all available information
about the prerequisites of a plug-in. Having retrieved the header, the ManifestElement
helper class can be used to parse the value and discover the individual
prerequisite plug-ins. The various header attributes are defined in Constants
.
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.
This interface is not intended to be implemented by developers.
IPluginDescriptor.getPluginPrerequisites()
Method Summary | |
---|---|
PluginVersionIdentifier |
getResolvedVersionIdentifier()
Deprecated. Callers of this method should interrogate the current State
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(); |
String |
getUniqueIdentifier()
Deprecated. Given a manifest element equivalent of a plug-in prerequisite (see the class comment), this method is replaced by: element.getValue(); |
PluginVersionIdentifier |
getVersionIdentifier()
Deprecated. Callers of this method should interrogate the current State
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(); |
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); |
boolean |
isMatchedAsCompatible()
Deprecated. Callers of this method should interrogate the current State
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; |
boolean |
isMatchedAsEquivalent()
Deprecated. Callers of this method should interrogate the current State
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; |
boolean |
isMatchedAsExact()
Deprecated. Callers of this method should interrogate the current State
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; |
boolean |
isMatchedAsGreaterOrEqual()
Deprecated. Callers of this method should interrogate the current State
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; |
boolean |
isMatchedAsPerfect()
Deprecated. Callers of this method should interrogate the current State
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; |
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); |
Method Detail |
public PluginVersionIdentifier getResolvedVersionIdentifier()
State
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();
public String getUniqueIdentifier()
element.getValue();
public PluginVersionIdentifier getVersionIdentifier()
State
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();
null
if none.
null
if
none was specifiedpublic boolean isExported()
element.getAttribute(Constants.REPROVIDE_ATTRIBUTE);
true
if this prerequisite plug-in is exposed,
false
otherwisepublic boolean isMatchedAsGreaterOrEqual()
State
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;
true
if greater or equal match is allowed,
false
otherwise.public boolean isMatchedAsCompatible()
State
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;
true
if compatible match is allowed,
false
if exact match is required.public boolean isMatchedAsEquivalent()
State
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;
true
if only equivalent identifier match
satisfies this dependency, false
otherwise.public boolean isMatchedAsPerfect()
State
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;
true
if only perfectly equal
identifier match satisfies this dependency,
false
otherwise.public boolean isMatchedAsExact()
State
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;
true
if only exact identifier match
satisfies this dependency, false
if compatible
plug-in will satisfy this dependency.public boolean isOptional()
"true".equals(element.getAttribute(Constants.OPTIONAL_ATTRIBUTE);
true
if this prerequisite is optional, false
otherwise
|
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.