Interface RangeHalfOpenLType

  • All Known Implementing Classes:
    RangeHalfOpenL

    @Immutable
    public interface RangeHalfOpenLType
    A half open (inclusive lower, exclusive upper) range with long components.
    Since:
    4.0.0
    • Method Detail

      • lower

        @Parameter
        long lower()
        Returns:
        The lower bound of the inclusive range.
      • upper

        @Parameter
        long upper()
        Returns:
        The upper bound of the inclusive range.
      • interval

        default long interval()

        Retrieve the number of values in the range [lower, upper). That is, (upper - lower).

        Returns:
        The number of values in the range
      • includesValue

        default boolean includesValue​(long value)

        Determine if the given value is included in this range.

        Parameters:
        value - The given value
        Returns:
        true iff value >= this.getLower() && value < this.getUpper() .
      • isIncludedIn

        default boolean isIncludedIn​(RangeHalfOpenL other)

        Determine if the given range is included in this range.

        Parameters:
        other - The given range
        Returns:
        true iff this.getLower() >= other.getLower() && this.getUpper() <= other.getUpper() .
      • isIncludedIn

        default boolean isIncludedIn​(RangeInclusiveL other)

        Determine if the given range is included in this range.

        Parameters:
        other - The given range
        Returns:
        true iff this.getLower() >= other.getLower() && this.getUpper() <= other.getUpper() .
      • checkPreconditions

        @Check
        default void checkPreconditions()
        Check preconditions for the type.