Interface Requirement<C,R extends Requirement<C,R>>

Type Parameters:
C - command sender type
R - requirement type, used for inheritance

@API(status=STABLE, since="1.0.0") public interface Requirement<C,R extends Requirement<C,R>>
A requirement for a command to be executed.
Since:
1.0.0
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    evaluateRequirement(@NonNull org.incendo.cloud.context.CommandContext<C> commandContext)
    Returns whether the given context meets the requirement.
    default @NonNull List<@NonNull R>
    Returns the parents of the requirement.
  • Method Details

    • evaluateRequirement

      boolean evaluateRequirement(@NonNull org.incendo.cloud.context.CommandContext<C> commandContext)
      Returns whether the given context meets the requirement.
      Parameters:
      commandContext - command context to evaluate
      Returns:
      true if the context meets the requirement, false if not
    • parents

      default @NonNull List<@NonNull R> parents()
      Returns the parents of the requirement.

      The parents will always be evaluated before this requirement.

      Returns:
      the parents