Interface ArgumentRequirementFactory

All Known Implementing Classes:
RangeArgumentRequirementFactory

public interface ArgumentRequirementFactory
  • Method Details

    • createArgumentRequirements

      @AvailableSince("0.0.37") static ArgumentRequirement[] createArgumentRequirements(GenericNode node, Annotation[] annotations, Map<Class<? extends ArgumentRequirementFactory>,ArgumentRequirementFactory> argumentRequirementFactories)
      Create an argument requirement from the given annotations
      Parameters:
      node - node
      annotations - annotations
      argumentRequirementFactories - argument requirement factories
      Returns:
      argument requirements
    • getArgumentRequirementFactoryClass

      @AvailableSince("0.0.37") static Class<? extends ArgumentRequirementFactory> getArgumentRequirementFactoryClass(Annotation annotation)
      Get the class of the argument requirement factory
      Parameters:
      annotation - annotation that has a ArgumentRequirementType
      Returns:
      the class of the argument requirement factory
    • createFromAnnotation

      @AvailableSince("0.0.37") static ArgumentRequirementFactory createFromAnnotation(Annotation annotation)
      Create an argument requirement factory
      Parameters:
      annotation - annotation
      Returns:
      argument requirement factory
    • getArgumentRequirement

      @Nullable @Nullable ArgumentRequirement getArgumentRequirement(GenericNode commandNode, Object obj)
      Create an argument requirement from the given object
      Parameters:
      commandNode - command node
      obj - object
      Returns:
      argument requirement or null