public ValidationException[] apply(Message msg) { try { Object subject = testExpression.evaluate(msg); boolean passed = getPredicate().evaluate(subject); return passed ? passed() : failedWithValue(subject, testExpression.getLocation(msg)); } catch (Exception e) { return failed(e); } }
/** * Create a new message rule * @param predicate the predicate to be used for the test * @param expression the expression to be used to extract the message part * to be tested */ public PredicateMessageRule(Predicate predicate, Expression<Message> expression) { this.testPredicate = predicate; this.testExpression = expression; setDescription(testExpression.getDescription() + " '%s' requires to be " + testPredicate.getDescription()); }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder is(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate))); }
public ValidationException[] apply(String value) { try { return result(getPredicate().evaluate(correct(value)), value); } catch (ValidationException e) { return failed(e); } }
/** * Creates a new primitive rule * @param predicate predicate to be used * @param trimmer trimming behavior */ public PredicatePrimitiveTypeRule(Predicate predicate, Trimmer trimmer) { this.predicate = predicate; this.trimmer = trimmer; setDescription("Primitive value '%s' requires to be " + predicate.getDescription()); }
public boolean test(String value) { try { return getPredicate().evaluate(value); } catch (ValidationException e) { return false; } }
public final ValidationRuleBuilder forAllVersions() { return forVersion().all(); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a US * phone number pattern */ public Predicate usPhoneNumber() { return matches("(\\d{1,2} )?(\\(\\d{3}\\))?\\d{3}-\\d{4}(X\\d{1,5})?(B\\d{1,5})?(C.*)?", "a US phone number"); }
public ValidationException[] apply(Message msg) { try { Object subject = testExpression.evaluate(msg); boolean passed = getPredicate().evaluate(subject); return passed ? passed() : failedWithValue(subject, testExpression.getLocation(msg)); } catch (Exception e) { return failed(e); } }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value with trailing whitespaces trimmed. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder rightTrim(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate, Trimmer.RIGHT))); }
public ValidationException[] apply(String value) { try { return result(getPredicate().evaluate(correct(value)), value); } catch (ValidationException e) { return failed(e); } }
/** * Create a new message rule * @param predicate the predicate to be used for the test * @param expression the expression to be used to extract the message part * to be tested */ public PredicateMessageRule(Predicate predicate, Expression<Message> expression) { this.testPredicate = predicate; this.testExpression = expression; setDescription(testExpression.getDescription() + " '%s' requires to be " + testPredicate.getDescription()); }
/** * Creates a new primitive rule * @param predicate predicate to be used * @param trimmer trimming behavior */ public PredicatePrimitiveTypeRule(Predicate predicate, Trimmer trimmer) { this.predicate = predicate; this.trimmer = trimmer; setDescription("Primitive value '%s' requires to be " + predicate.getDescription()); }
public boolean test(String value) { try { return getPredicate().evaluate(value); } catch (ValidationException e) { return false; } }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value with leading and trailing whitespaces trimmed. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder allTrim(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate, Trimmer.ALL))); }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder is(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate))); }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value with leading and trailing whitespaces trimmed. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder allTrim(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate, Trimmer.ALL))); }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value with trailing whitespaces trimmed. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder rightTrim(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate, Trimmer.RIGHT))); }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value with leading whitespaces trimmed. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder leftTrim(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate, Trimmer.LEFT))); }
/** * Builds a {@link PrimitiveTypeRule} that evaluates the specified {@link Predicate} against the * primitive value with leading whitespaces trimmed. * * @param predicate predicate to evaluate the primitive value against * * @return this instance to build more rules */ public PrimitiveRuleBuilder leftTrim(Predicate predicate) { return test(prepareRule(new PredicatePrimitiveTypeRule(predicate, Trimmer.LEFT))); }