Eclipse Platform
Release 3.6

org.eclipse.equinox.p2.metadata
Interface IRequirement


public interface IRequirement

A requirement represents some external constraint on an IInstallableUnit. Each requirement represents something an IInstallableUnit needs that it expects to be provided by another IInstallableUnit. Requirements are entirely generic, and are intended to be capable of representing anything that an IInstallableUnit may need either at install time, or at runtime.

Since:
2.0
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.

Method Summary
 String getDescription()
          Returns a textual description of this requirement.
 IMatchExpression<IInstallableUnit> getFilter()
           
 IMatchExpression<IInstallableUnit> getMatches()
          Returns a boolean match expression that will return true for any IInstallableUnit that matches the requirement.
 int getMax()
          Returns the maximum cardinality of the requirement.
 int getMin()
          Returns the minimum cardinality of the requirement.
 boolean isGreedy()
          Returns whether this requirement should cause extra installable units to be installed in order to satisfy it.
 boolean isMatch(IInstallableUnit iu)
          Returns whether the provided capabilities of the given installable unit satisfy this requirement.
 

Method Detail

getMin

int getMin()
Returns the minimum cardinality of the requirement. That is, the minimum number of capabilities that must be provided that match this requirement before this requirement is considered fully satisfied. A minimum cardinality of 0 indicates that the requirement is optional.

Returns:
the minimum cardinality of this requirement

getMax

int getMax()
Returns the maximum cardinality of the requirement. That is, the maximum number of capabilities that are permitted to be present that satisfy this requirement. A maximum cardinality of 0 indicates that there must not be any installable unit in the system that satisfies this requirement.

Returns:
the maximum cardinality of this requirement

getFilter

IMatchExpression<IInstallableUnit> getFilter()
Restriction:
This method is not intended to be referenced by clients.

getMatches

IMatchExpression<IInstallableUnit> getMatches()
Returns a boolean match expression that will return true for any IInstallableUnit that matches the requirement.

Returns:
A boolean match expression for installable unit matching.

isMatch

boolean isMatch(IInstallableUnit iu)
Returns whether the provided capabilities of the given installable unit satisfy this requirement.

Parameters:
iu - the installable unit to check for matching capabilities
Returns:
true if the given installable unit satisfies this requirement, and false otherwise.

isGreedy

boolean isGreedy()
Returns whether this requirement should cause extra installable units to be installed in order to satisfy it.

Returns:
true if additional installable units should be installed to satisfy this requirement, and false otherwise

getDescription

String getDescription()
Returns a textual description of this requirement.

Returns:
a textual description of this requirement

Eclipse Platform
Release 3.6

Guidelines for using Eclipse APIs.

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