Interface RequirementFactory


public interface RequirementFactory
  • Method Details

    • createRequirementSet

      @AvailableSince("0.0.37") static RequirementSet createRequirementSet(GenericNode node, Annotation[] annotations, Map<Class<? extends RequirementFactory>,RequirementFactory> requirementFactories, Map<Class<? extends Annotation>,RequirementFactory> externalRequirementFactories)
      Create a requirement set from the given annotations
      Parameters:
      node - generic node (command node or compound parser)
      annotations - annotations
      requirementFactories - requirement factories for caching factories
      externalRequirementFactories - external requirement factories
      Returns:
      requirement set
    • getRequirementFactoryClass

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

      @AvailableSince("0.0.37") static RequirementFactory createFromAnnotation(Annotation annotation)
      Create a requirement factory from an annotation
      Parameters:
      annotation - annotation that has a CommandRequirementType
      Returns:
      the created requirement factory
    • getRequirement

      @Nullable @Nullable Requirement getRequirement(GenericNode node, Object obj)
      Create a requirement from the given object
      Parameters:
      node - generic node (command node or compound parser)
      obj - object
      Returns:
      requirement or null