Interface RequirementFactory
public interface RequirementFactory
-
Method Summary
Modifier and TypeMethodDescriptionstatic RequirementFactorycreateFromAnnotation(Annotation annotation) Create a requirement factory from an annotationstatic RequirementSetcreateRequirementSet(GenericNode node, Annotation[] annotations, Map<Class<? extends RequirementFactory>, RequirementFactory> requirementFactories, Map<Class<? extends Annotation>, RequirementFactory> externalRequirementFactories) Create a requirement set from the given annotations@Nullable RequirementgetRequirement(GenericNode node, Object obj) Create a requirement from the given objectstatic Class<? extends RequirementFactory> getRequirementFactoryClass(Annotation annotation) Get the class of the requirement factory
-
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- annotationsrequirementFactories- requirement factories for caching factoriesexternalRequirementFactories- 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
Create a requirement factory from an annotation- Parameters:
annotation- annotation that has a CommandRequirementType- Returns:
- the created requirement factory
-
getRequirement
Create a requirement from the given object- Parameters:
node- generic node (command node or compound parser)obj- object- Returns:
- requirement or null
-