Package 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.
Instances of this class are handle objects and do not necessarily
reflect entities that exist in any particular profile or repository. These handle
objects can be created using MetadataFactory
.
- Since:
- 2.0
- See Also:
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
Method Summary
Modifier and TypeMethodDescriptionReturns a textual description of this requirement.Returns the filter on this requirement.Returns a boolean match expression that will return true for anyIInstallableUnit
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
Returns whether the provided capabilities of the given installable unit satisfy this requirement.
-
Method Details
-
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()Returns the filter on this requirement. The filter is matched against the properties of the environment the requirement is installed into. A requirement not applicable, i.e., is ignored, if it has a filter condition that is not satisfied by the properties of the environment.- Returns:
- The requirement filter for this unit, or
null
- Since:
- 2.0
-
getMatches
IMatchExpression<IInstallableUnit> getMatches()Returns a boolean match expression that will return true for anyIInstallableUnit
that matches the requirement.- Returns:
- A boolean match expression for installable unit matching.
-
isMatch
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, andfalse
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, andfalse
otherwise
-
getDescription
String getDescription()Returns a textual description of this requirement.- Returns:
- a textual description of this requirement
-