Interface Requirements<C,R extends Requirement<C,R>>
- Type Parameters:
C- command sender typeR- requirement type
- All Superinterfaces:
Iterable<@NonNull R>
@API(status=STABLE,
since="1.0.0")
public interface Requirements<C,R extends Requirement<C,R>>
extends Iterable<@NonNull R>
Immutable container of
requirements.- Since:
- 1.0.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic <C,R extends Requirement<C, R>>
@NonNull Requirements<C,R> empty()Creates an empty requirement container.iterator()Returns an iterator that iterates over the requirements.static <C,R extends Requirement<C, R>>
@NonNull Requirements<C,R> Creates a new immutable requirement container.static <C,R extends Requirement<C, R>>
@NonNull Requirements<C,R> of(@NonNull R @NonNull ... requirements) Creates a new immutable requirement container.Returns the requirements.default @NonNull Requirements<C,R> Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Method Details
-
empty
Creates an empty requirement container.- Type Parameters:
C- command sender typeR- requirement type- Returns:
- the requirement container
-
of
static <C,R extends Requirement<C, @NonNull Requirements<C,R>> R> of(@NonNull List<@NonNull R> requirements) Creates a new immutable requirement container.- Type Parameters:
C- command sender typeR- requirement type- Parameters:
requirements- list of requirements- Returns:
- the requirement container
-
of
@SafeVarargs static <C,R extends Requirement<C, @NonNull Requirements<C,R>> R> of(@NonNull R @NonNull ... requirements) Creates a new immutable requirement container.- Type Parameters:
C- command sender typeR- requirement type- Parameters:
requirements- list of requirements- Returns:
- the requirement container
-
with
- Parameters:
requirement- new requirement- Returns:
- the new instance
-
requirements
Returns the requirements.- Returns:
- immutable collection of requirements
-
iterator
Returns an iterator that iterates over the requirements.
-