@Override public RuleResult validate(final PasswordData passwordData) { final RuleResult result = new RuleResult(); final int length = passwordData.getPassword().length(); if (length >= minimumLength && length <= maximumLength) { result.setValid(true); } else { result.setValid(false); if (length < minimumLength) { result.getDetails().add(new RuleResultDetail(ERROR_CODE_MIN, createRuleResultDetailParameters())); } else { result.getDetails().add(new RuleResultDetail(ERROR_CODE_MAX, createRuleResultDetailParameters())); } } result.setMetadata(createRuleResultMetadata(passwordData)); return result; }