/** * 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))); }
.message().all().choiceElementsRespected() .message().all().onlyAllowableSegmentsInSuperStructure() .primitive("FT").leftTrim(maxLength(32000)) .primitive("ST").leftTrim() .primitive("TX").rightTrim() .primitive("ID", "IS").is(maxLength(200)) .primitive("SI").is(emptyOr(nonNegativeInteger())) .primitive("NM").is(emptyOr(number())) .primitive("DT") .refersToSection("Version 2.5 Section 2.A.21") .is(emptyOr(date())) .primitive("TM") .refersToSection("Version 2.5 Section 2.A.75") .is(emptyOr(time())) .primitive("NULLDT").is(withdrawn()); .refersToSection("Version 2.4 Section 2.9.47") .is(emptyOr(dateTime())); .refersToSection("Version 2.5 Section 2.A.22") .is(emptyOr(dateTime25()));
@Override protected void configure() { super.configure(); forAllVersions() .primitive("TN") .refersToSection("Version 2.4 Section 2.9.45") .is(emptyOr(usPhoneNumber())); }
/** * Builds {@link PrimitiveTypeRule}s for the specified types * * @param type an array of types * @return this instance to continue building rules */ public PrimitiveRuleBuilder primitive(String... type) { if (type.length == 0) { throw new IllegalArgumentException("Must specify a type"); } return new PrimitiveRuleBuilder(rules, versions, new HashSet<String>(Arrays.asList(type))); }
@Override protected Collection<RuleBinding<PrimitiveTypeRule>> getRuleBindings(PrimitiveTypeRule rule, String version) { List<RuleBinding<PrimitiveTypeRule>> bindings = new ArrayList<RuleBinding<PrimitiveTypeRule>>(); for (String type : types) { bindings.add(new PrimitiveTypeRuleBinding(version, type, rule)); } return activate(bindings); }
.message().all().choiceElementsRespected() .message().all().onlyAllowableSegmentsInSuperStructure() .primitive("FT").leftTrim(maxLength(32000)) .primitive("ST").leftTrim() .primitive("TX").rightTrim() .primitive("ID", "IS").is(maxLength(200)) .primitive("SI").is(emptyOr(nonNegativeInteger())) .primitive("NM").is(emptyOr(number())) .primitive("DT") .refersToSection("Version 2.5 Section 2.A.21") .is(emptyOr(date())) .primitive("TM") .refersToSection("Version 2.5 Section 2.A.75") .is(emptyOr(time())) .primitive("NULLDT").is(withdrawn()); .refersToSection("Version 2.4 Section 2.9.47") .is(emptyOr(dateTime())); .refersToSection("Version 2.5 Section 2.A.22") .is(emptyOr(dateTime25()));
@Override protected void configure() { super.configure(); forAllVersions() .primitive("TN") .refersToSection("Version 2.4 Section 2.9.45") .is(emptyOr(usPhoneNumber())); }
/** * Builds {@link PrimitiveTypeRule}s for the specified types * * @param type an array of types * @return this instance to continue building rules */ public PrimitiveRuleBuilder primitive(String... type) { if (type.length == 0) { throw new IllegalArgumentException("Must specify a type"); } return new PrimitiveRuleBuilder(rules, versions, new HashSet<String>(Arrays.asList(type))); }
@Override protected Collection<RuleBinding<PrimitiveTypeRule>> getRuleBindings(PrimitiveTypeRule rule, String version) { List<RuleBinding<PrimitiveTypeRule>> bindings = new ArrayList<RuleBinding<PrimitiveTypeRule>>(); for (String type : types) { bindings.add(new PrimitiveTypeRuleBinding(version, type, rule)); } return activate(bindings); }
/** * 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 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 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))); }