private boolean validate(VariableElement parameter) { if (currentParameterRequirement == null) { return false; } if (currentParameterRequirement.isSatisfied(parameter)) { satisfiedParameterRequirements.add(currentParameterRequirement); if (!currentParameterRequirement.multiple()) { nextParameterRequirement(); } } else { if (currentParameterRequirement.required() && !satisfiedParameterRequirements.contains(currentParameterRequirement)) { return false; } else { nextParameterRequirement(); return validate(parameter); } } return true; }
@Override public void validate(ExecutableElement executableElement, ElementValidation validation) { super.validate(executableElement, validation); nextParameterRequirement(); for (VariableElement parameter : executableElement.getParameters()) { if (!validate(parameter)) { invalidate(executableElement, validation); return; } } for (ParameterRequirement expectedParameter : getParamRequirements()) { if (expectedParameter.required() && !satisfiedParameterRequirements.contains(expectedParameter)) { invalidate(executableElement, validation); return; } } }
private boolean validate(VariableElement parameter) { if (currentParameterRequirement == null) { return false; } if (currentParameterRequirement.isSatisfied(parameter)) { satisfiedParameterRequirements.add(currentParameterRequirement); if (!currentParameterRequirement.multiple()) { nextParameterRequirement(); } } else { if (currentParameterRequirement.required() && !satisfiedParameterRequirements.contains(currentParameterRequirement)) { return false; } else { nextParameterRequirement(); return validate(parameter); } } return true; }
@Override public void validate(ExecutableElement executableElement, ElementValidation validation) { super.validate(executableElement, validation); nextParameterRequirement(); for (VariableElement parameter : executableElement.getParameters()) { if (!validate(parameter)) { invalidate(executableElement, validation); return; } } for (ParameterRequirement expectedParameter : getParamRequirements()) { if (expectedParameter.required() && !satisfiedParameterRequirements.contains(expectedParameter)) { invalidate(executableElement, validation); return; } } }