Interface Requirement

  • All Known Subinterfaces:
    BundleRequirement
    All Known Implementing Classes:
    BundleRequirementImpl, WrappedRequirement

    @ConsumerType
    public interface Requirement
    A requirement that has been declared from a Resource .

    Instances of this type must be effectively immutable. That is, for a given instance of this interface, the methods defined by this interface must always return the same result.

    Author:
    $Id: 252221aeaaf9b189eef6e0c3798d0076a0032242 $
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Compares this Requirement to another Requirement.
      java.util.Map<java.lang.String,​java.lang.Object> getAttributes()
      Returns the attributes of this requirement.
      java.util.Map<java.lang.String,​java.lang.String> getDirectives()
      Returns the directives of this requirement.
      java.lang.String getNamespace()
      Returns the namespace of this requirement.
      Resource getResource()
      Returns the resource declaring this requirement.
      int hashCode()
      Returns the hashCode of this Requirement.
    • Method Detail

      • getNamespace

        java.lang.String getNamespace()
        Returns the namespace of this requirement.
        Returns:
        The namespace of this requirement.
      • getDirectives

        java.util.Map<java.lang.String,​java.lang.String> getDirectives()
        Returns the directives of this requirement.
        Returns:
        An unmodifiable map of directive names to directive values for this requirement, or an empty map if this requirement has no directives.
      • getAttributes

        java.util.Map<java.lang.String,​java.lang.Object> getAttributes()
        Returns the attributes of this requirement.

        Requirement attributes have no specified semantics and are considered extra user defined information.

        Returns:
        An unmodifiable map of attribute names to attribute values for this requirement, or an empty map if this requirement has no attributes.
      • getResource

        Resource getResource()
        Returns the resource declaring this requirement.
        Returns:
        The resource declaring this requirement. This can be null if this requirement is synthesized.
      • equals

        boolean equals​(java.lang.Object obj)
        Compares this Requirement to another Requirement.

        This Requirement is equal to another Requirement if they have the same namespace, directives and attributes and are declared by the same resource.

        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - The object to compare against this Requirement.
        Returns:
        true if this Requirement is equal to the other object; false otherwise.
      • hashCode

        int hashCode()
        Returns the hashCode of this Requirement.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        The hashCode of this Requirement.