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 Type
    Method
    Description
    Returns a textual description of this requirement.
    Returns the filter on this requirement.
    Returns a boolean match expression that will return true for any IInstallableUnit that matches the requirement.
    int
    Returns the maximum cardinality of the requirement.
    int
    Returns the minimum cardinality of the requirement.
    boolean
    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

      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

      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