Interface Range<T>
- Type Parameters:
T- type of value limited by this range.
- All Superinterfaces:
Predicate<T>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Range limiting some value.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> @NotNull Range<T>Creates a range {x: ∀ range ∈ ranges, x ∈ range}.static <T> @NotNull Range<T>Creates a range {x: ∀ range ∈ ranges, x ∈ range}.static <T> @NotNull Range<T>Creates a range {x: ∀ range ∈ ranges, x ∈ range}.static <T> @NotNull Range<T>Creates a range {x: ∀ range ∈ ranges, x ∈ range}.static <T> @NotNull Range<T>allOfCopyOrdered(@Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∈ range}.static <T> @NotNull Range<T>any()Creates a range [-∞ ; +∞].static <T> @NotNull Range<T>Creates a range {x: ∃ range ∈ ranges: x ∈ range}.static <T> @NotNull Range<T>Creates a range {x: ∃ range ∈ ranges: x ∈ range}.static <T> @NotNull Range<T>Creates a range {x: ∃ range ∈ ranges: x ∈ range}.static <T> @NotNull Range<T>Creates a range {x: ∃ range ∈ ranges: x ∈ range}.static <T> @NotNull Range<T>anyOfCopyOrdered(@Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∃ range ∈ ranges: x ∈ range}.static <T extends Comparable<T>>
@NotNull Range<T>Creates a range (lowerBound;upperBound).static <T extends Comparable<T>>
@NotNull Range<T>betweenOrEqual(@Ref T lowerBound, @Ref T upperBound) Creates a range [lowerBound;upperBound].static <T> @NotNull Range<T>Creates a range {x: x ∉values}.static <T> @NotNull Range<T>except(@Ref @NonNull Collection<T> values) Creates a range {x: x ∉values}.static <T> @NotNull Range<T>Creates a range ¬{value}.static <T> @NotNull Range<T>exceptCopy(@Own T @Own @NonNull ... values) Creates a range {x: x ∉values}.static <T> @NotNull Range<T>exceptCopy(@Ref @NonNull Collection<T> values) Creates a range {x: x ∉values}.static <T> @NotNull Range<T>exceptCopyOrdered(@Ref @NonNull Collection<T> values) Creates a range {x: x ∉values}.static <T> @NotNull Range<T>Creates a range ¬{null}.static <T extends Comparable<T>>
@NotNull Range<T>fromExclusiveTo(@Ref T lowerBound, @Ref T upperBound) Creates a range (lowerBound;upperBound].static <T extends Comparable<T>>
@NotNull Range<T>fromToExclusive(@Ref T lowerBound, @Ref T upperBound) Creates a range [lowerBound;upperBound).static <T extends Comparable<T>>
@NotNull Range<T>Creates a range (lowerBound; +∞).static <T extends Comparable<T>>
@NotNull Range<T>greaterOrEqual(@Ref T lowerBound) Creates a range [lowerBound; +∞).default booleanChecks if the given value is in range.static <T extends Comparable<T>>
@NotNull Range<T>Creates a range (∞;upperBound).static <T extends Comparable<T>>
@NotNull Range<T>lessOrEqual(@Ref T upperBound) Creates a range (∞;upperBound].negate()static <T> @NotNull Range<T>none()Creates a range ∅.static <T> @NotNull Range<T>Creates a range {x: ∀ range ∈ ranges, x ∉ range}.static <T> @NotNull Range<T>Creates a range {x: ∀ range ∈ ranges, x ∉ range}.static <T> @NotNull Range<T>noneOfCopy(@Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.static <T> @NotNull Range<T>noneOfCopy(@Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.static <T> @NotNull Range<T>noneOfCopyOrdered(@Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.static <T> @NotNull Range<T>Creates a range {x: x ∈values}.static <T> @NotNull Range<T>only(@Ref @NonNull Collection<T> values) Creates a range {x: x ∈values}.static <T> @NotNull Range<T>Creates a range {value}.static <T> @NotNull Range<T>Creates a range {x: x ∈values}.static <T> @NotNull Range<T>onlyCopy(@Ref @NonNull Collection<T> values) Creates a range {x: x ∈values}.static <T> @NotNull Range<T>onlyCopyOrdered(@Ref @NonNull Collection<T> values) Creates a range {x: x ∈values}.static <T> @NotNull Range<T>onlyNull()Creates a range {null}.
-
Method Details
-
includes
Checks if the given value is in range.- Parameters:
value- value checked for inclusion in this range- Returns:
trueif the range includes the given value andfalseotherwise
-
negate
-
and
-
or
-
any
Creates a range [-∞ ; +∞].- Type Parameters:
T- type of range's elements- Returns:
- created range
-
none
Creates a range ∅.- Type Parameters:
T- type of range's elements- Returns:
- created range
-
onlyNull
Creates a range {null}.- Type Parameters:
T- type of range's elements- Returns:
- created range
-
only
Creates a range {value}.- Type Parameters:
T- type of range's elements- Parameters:
value- the only value contained by the range- Returns:
- created range
-
only
Creates a range {x: x ∈values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values contained by the range- Returns:
- created range
- API note
- this takes ownership over
values
-
only
Creates a range {x: x ∈values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values contained by the range- Returns:
- created range
- API note
- this takes ownership over
values
-
onlyCopy
Creates a range {x: x ∈values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values contained by the range- Returns:
- created range
- API note
- this copies
valuesnot preserving order
-
onlyCopy
Creates a range {x: x ∈values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values contained by the range- Returns:
- created range
- API note
- this copies
valuesnot preserving order
-
onlyCopyOrdered
Creates a range {x: x ∈values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values contained by the range- Returns:
- created range
- API note
- this copies
valuespreserving order
-
exceptNull
Creates a range ¬{null}.- Type Parameters:
T- type of range's elements- Returns:
- created range
-
except
Creates a range ¬{value}.- Type Parameters:
T- type of range's elements- Parameters:
value- the only value not contained by the range- Returns:
- created range
-
except
Creates a range {x: x ∉values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values not contained by the range- Returns:
- created range
- API note
- this takes ownership over
values
-
except
Creates a range {x: x ∉values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values not contained by the range- Returns:
- created range
- API note
- this takes ownership over
values
-
exceptCopy
Creates a range {x: x ∉values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values not contained by the range- Returns:
- created range
- API note
- this copies
valuesnot preserving order
-
exceptCopy
Creates a range {x: x ∉values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values not contained by the range- Returns:
- created range
- API note
- this copies
valuesnot preserving order
-
exceptCopyOrdered
@NotNull static <T> @NotNull Range<T> exceptCopyOrdered(@NonNull @Ref @NonNull Collection<T> values) Creates a range {x: x ∉values}.- Type Parameters:
T- type of range's elements- Parameters:
values- the only values not contained by the range- Returns:
- created range
- API note
- this copies
valuespreserving order
-
greater
Creates a range (lowerBound; +∞).- Type Parameters:
T- type of range's elements- Parameters:
lowerBound- lower exclusive bound of the range- Returns:
- created range
-
greaterOrEqual
@NotNull static <T extends Comparable<T>> @NotNull Range<T> greaterOrEqual(@NonNull @Ref T lowerBound) Creates a range [lowerBound; +∞).- Type Parameters:
T- type of range's elements- Parameters:
lowerBound- lower inclusive bound of the range- Returns:
- created range
-
less
Creates a range (∞;upperBound).- Type Parameters:
T- type of range's elements- Parameters:
upperBound- upper inclusive bound of the range- Returns:
- created range
-
lessOrEqual
Creates a range (∞;upperBound].- Type Parameters:
T- type of range's elements- Parameters:
upperBound- upper exclusive bound of the range- Returns:
- created range
-
between
@NotNull static <T extends Comparable<T>> @NotNull Range<T> between(@NonNull @Ref T lowerBound, @NonNull @Ref T upperBound) Creates a range (lowerBound;upperBound).- Type Parameters:
T- type of range's elements- Parameters:
lowerBound- lower exclusive bound of the rangeupperBound- upper exclusive bound of the range- Returns:
- created range
-
betweenOrEqual
@NotNull static <T extends Comparable<T>> @NotNull Range<T> betweenOrEqual(@NonNull @Ref T lowerBound, @NonNull @Ref T upperBound) Creates a range [lowerBound;upperBound].- Type Parameters:
T- type of range's elements- Parameters:
lowerBound- lower inclusive bound of the rangeupperBound- upper inclusive bound of the range- Returns:
- created range
-
fromExclusiveTo
@NotNull static <T extends Comparable<T>> @NotNull Range<T> fromExclusiveTo(@NonNull @Ref T lowerBound, @NonNull @Ref T upperBound) Creates a range (lowerBound;upperBound].- Type Parameters:
T- type of range's elements- Parameters:
lowerBound- lower exclusive bound of the rangeupperBound- upper inclusive bound of the range- Returns:
- created range
-
fromToExclusive
@NotNull static <T extends Comparable<T>> @NotNull Range<T> fromToExclusive(@NonNull @Ref T lowerBound, @NonNull @Ref T upperBound) Creates a range [lowerBound;upperBound).- Type Parameters:
T- type of range's elements- Parameters:
lowerBound- lower inclusive bound of the rangeupperBound- upper exclusive bound of the range- Returns:
- created range
-
anyOf
@SafeVarargs @NotNull static <T> @NotNull Range<T> anyOf(@NotNull @Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∃ range ∈ ranges: x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched disjunctive ranges- Returns:
- created range
- API note
- this takes ownership over
ranges
-
anyOf
@NotNull static <T> @NotNull Range<T> anyOf(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∃ range ∈ ranges: x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched disjunctive ranges- Returns:
- created range
- API note
- this takes ownership over
ranges
-
anyOfCopy
@SafeVarargs @NotNull static <T> @NotNull Range<T> anyOfCopy(@NotNull @Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∃ range ∈ ranges: x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched disjunctive ranges- Returns:
- created range
- API note
- this copies
rangespreserving order
-
anyOfCopy
@NotNull static <T> @NotNull Range<T> anyOfCopy(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∃ range ∈ ranges: x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched disjunctive ranges- Returns:
- created range
- API note
- this copies
rangesnot preserving order
-
anyOfCopyOrdered
@NotNull static <T> @NotNull Range<T> anyOfCopyOrdered(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∃ range ∈ ranges: x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched disjunctive ranges- Returns:
- created range
- API note
- this copies
rangespreserving order
-
allOf
@SafeVarargs @NotNull static <T> @NotNull Range<T> allOf(@NotNull @Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∀ range ∈ ranges, x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched conjunctive ranges- Returns:
- created range
- API note
- this takes ownership over
ranges
-
allOf
@NotNull static <T> @NotNull Range<T> allOf(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched conjunctive ranges- Returns:
- created range
- API note
- this takes ownership over
ranges
-
allOfCopy
@SafeVarargs @NotNull static <T> @NotNull Range<T> allOfCopy(@NotNull @Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∀ range ∈ ranges, x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched conjunctive ranges- Returns:
- created range
- API note
- this copies
rangespreserving order
-
allOfCopy
@NotNull static <T> @NotNull Range<T> allOfCopy(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched conjunctive ranges- Returns:
- created range
- API note
- this copies
rangesnot preserving order
-
allOfCopyOrdered
@NotNull static <T> @NotNull Range<T> allOfCopyOrdered(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∈ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- matched conjunctive ranges- Returns:
- created range
- API note
- this copies
rangespreserving order
-
noneOf
@SafeVarargs @NotNull static <T> @NotNull Range<T> noneOf(@NotNull @Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- not matched conjunctive ranges- Returns:
- created range
- API note
- this takes ownership over
ranges
-
noneOf
@NotNull static <T> @NotNull Range<T> noneOf(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- not matched conjunctive ranges- Returns:
- created range
- API note
- this takes ownership over
ranges
-
noneOfCopy
@SafeVarargs @NotNull static <T> @NotNull Range<T> noneOfCopy(@NotNull @Ref @NotNull Range<T> @NonNull ... ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- not matched conjunctive ranges- Returns:
- created range
- API note
- this copies
rangespreserving order
-
noneOfCopy
@NotNull static <T> @NotNull Range<T> noneOfCopy(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- not matched conjunctive ranges- Returns:
- created range
- API note
- this copies
rangesnot preserving order
-
noneOfCopyOrdered
@NotNull static <T> @NotNull Range<T> noneOfCopyOrdered(@NonNull @Ref @NonNull Iterable<@NotNull Range<T>> ranges) Creates a range {x: ∀ range ∈ ranges, x ∉ range}.- Type Parameters:
T- type of range's elements- Parameters:
ranges- not matched conjunctive ranges- Returns:
- created range
- API note
- this copies
rangespreserving order
-