Eclipse Platform Release 3.7

## org.eclipse.core.runtime
Interface IPluginPrerequisite

Deprecated. In Eclipse 3.0 the plug-in prerequisite representation was changed. Clients of `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.

    public interface IPluginPrerequisite

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.

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

### getResolvedVersionIdentifier

    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();

  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

    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

    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();

  Returns the version identifier of the prerequisite plug-in, or `null` if none.

  Returns:
    the plug-in version identifier, or `null` if none was specified

### isExported

    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

    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;

  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

    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;

  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

    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;

  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

    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;

  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

    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;

  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

    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

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.