Interface Qualified<V,T>

Type Parameters:
V - the type borne by the values of the Qualifiers in this Qualified
T - the type of the object that is qualified; note that if it does not extend Constable then a Qualified bearing it will return an empty Optional from its describeConstable() method
All Superinterfaces:
Constable
All Known Implementing Classes:
Qualified.Record

public interface Qualified<V,T> extends Constable
A Constable pairing of a Qualifiers and an Object that is qualified by them.
Author:
Laird Nelson
See Also:
  • Method Details

    • qualifiers

      Returns this Qualified's Qualifiers.
      Returns:
      this Qualified's Qualifiers
      Idempotency:
      Implementations of this method must be idempotent and deterministic.
      Nullability:
      Implementations of this method must not return null.
      Thread Safety:
      Implementations of this method must be safe for concurrent use by multiple threads.
    • qualified

      Returns this Qualified's qualified object.
      Returns:
      this Qualified's qualified object, which may be null
      Idempotency:
      Implementations of this method must be idempotent and deterministic.
      Nullability:
      Implementations of this method may return null.
      Thread Safety:
      Implementations of this method must be safe for concurrent use by multiple threads.
    • describeConstable

      default Optional<? extends ConstantDesc> describeConstable()
      Returns an Optional housing a ConstantDesc describing this Qualified, if this Qualified is capable of being represented as a dynamic constant, or an empty Optional if not.
      Specified by:
      describeConstable in interface Constable
      Returns:
      an Optional housing a ConstantDesc describing this Qualified, if this Qualified is capable of being represented as a dynamic constant, or an empty Optional if not
      See Also:
      Idempotency:
      This method is, and its overrides must be, idempotent and deterministic.
      Nullability:
      This method does not, and its overrides must not, return null.
      Thread Safety:
      This method is, and its overrides must be, safe for concurrent use by multiple threads.
    • of

      static <V, T> Qualified<V,T> of(T qualified)
      Returns a Qualified, which may or may not be newly created, representing the supplied qualified object.
      Type Parameters:
      V - the type of the Qualified's Qualifiers' value and attribute values
      T - the type of the qualified object
      Parameters:
      qualified - the qualified object; may be null
      Returns:
      a Qualified
      See Also:
      Idempotency:
      This method is neither idempotent nor deterministic.
      Nullability:
      This method never returns null.
      Thread Safety:
      This method is safe for concurrent use by multiple threads.
    • of

      static <V, T> Qualified<V,T> of(Qualifiers<V> qualifiers, T qualified)
      Returns a Qualified, which may or may not be newly created, representing the supplied Qualifiers and qualified object.
      Type Parameters:
      V - the type of the Qualified's Qualifiers' value and attribute values
      T - the type of the qualified object
      Parameters:
      qualifiers - the Qualifiers; may be null
      qualified - the qualified object; may be null
      Returns:
      a Qualified
      Idempotency:
      This method is neither idempotent nor deterministic.
      Nullability:
      This method never returns null.
      Thread Safety:
      This method is safe for concurrent use by multiple threads.