/** * Default Constructor. * * @param method * The method to be invoked * @param resultTag * The type of tags this action produces * @param resultQuantity * The result Quantity * @throws RuleDefinitionException * If the {@link ActionMethod} is invalid. The action method must be public, with * zero arguments and void return type. */ public ActionMethod(Method method, String resultTag, Action.Quantity resultQuantity) throws RuleDefinitionException { this.method = checkNotNull(method, "The method must not be null."); this.resultTag = checkNotNull(resultTag, "The result tag must not be null."); this.resultQuantity = checkNotNull(resultQuantity, "The output quantity must not be null."); validate(); }