/** * @return a predicate that evaluates to <code>true</code> if the actual value can be parsed * into a non-negative integer. */ public Predicate nonNegativeInteger() { return matches("\\d*", "a non-negative integer (0,1,2,...)"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value can be parsed * into a number with optional decimal digits. */ public Predicate number() { return matches("(\\+|\\-)?\\d*\\.?\\d*", "a number with optional decimal digits"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * date pattern (YYYY[MM[DD]]) */ public Predicate date() { return matches("(\\d{4}([01]\\d(\\d{2})?)?)?", "a date string (YYYY[MM[DD]])"); }
/** * @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"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * time pattern */ public Predicate time() { return matches("([012]\\d([0-5]\\d([0-5]\\d(\\.\\d(\\d(\\d(\\d)?)?)?)?)?)?)?([\\+\\-]\\d{4})?", "a HL7 time string"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * datetime pattern */ public Predicate dateTime25() { return matches("(\\d{4}([01]\\d(\\d{2}([012]\\d([0-5]\\d([0-5]\\d(\\.\\d(\\d(\\d(\\d)?)?)?)?)?)?)?)?)?)?([\\+\\-]\\d{4})?", "a HL7 datetime string"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a UUID * pattern */ public Predicate uuid() { return matches("\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}", "a Unique Universal Identifier (UUID)"); }
/** * @param prefix prefix string * @return a predicate that evaluates to <code>true</code> if the actual value starts with the * specified prefix. */ public Predicate startsWith(String prefix) { return matches("^" + prefix + ".*", "starts with " + prefix); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * datetime pattern */ public Predicate dateTime() { return matches("(\\d{4}([01]\\d(\\d{2}([012]\\d[0-5]\\d([0-5]\\d(\\.\\d(\\d(\\d(\\d)?)?)?)?)?)?)?)?)?([\\+\\-]\\d{4})?", "a HL7 datetime string"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * datetime pattern */ public Predicate dateTime25() { return matches("(\\d{4}([01]\\d(\\d{2}([012]\\d([0-5]\\d([0-5]\\d(\\.\\d(\\d(\\d(\\d)?)?)?)?)?)?)?)?)?)?([\\+\\-]\\d{4})?", "a HL7 datetime string"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * time pattern */ public Predicate time() { return matches("([012]\\d([0-5]\\d([0-5]\\d(\\.\\d(\\d(\\d(\\d)?)?)?)?)?)?)?([\\+\\-]\\d{4})?", "a HL7 time string"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * date pattern (YYYY[MM[DD]]) */ public Predicate date() { return matches("(\\d{4}([01]\\d(\\d{2})?)?)?", "a date string (YYYY[MM[DD]])"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches an ISO * OID pattern */ public Predicate oid() { return matches("[0-2](\\.(0|([1-9][0-9]*)))+", "an Object Identifier (OID)"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value can be parsed * into a number with optional decimal digits. */ public Predicate number() { return matches("(\\+|\\-)?\\d*\\.?\\d*", "a number with optional decimal digits"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a HL7 * datetime pattern */ public Predicate dateTime() { return matches("(\\d{4}([01]\\d(\\d{2}([012]\\d[0-5]\\d([0-5]\\d(\\.\\d(\\d(\\d(\\d)?)?)?)?)?)?)?)?)?([\\+\\-]\\d{4})?", "a HL7 datetime string"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches an ISO * OID pattern */ public Predicate oid() { return matches("[0-2](\\.(0|([1-9][0-9]*)))+", "an Object Identifier (OID)"); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value matches a UUID * pattern */ public Predicate uuid() { return matches("\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}", "a Unique Universal Identifier (UUID)"); }
/** * @param prefix prefix string * @return a predicate that evaluates to <code>true</code> if the actual value starts with the * specified prefix. */ public Predicate startsWith(String prefix) { return matches("^" + prefix + ".*", "starts with " + prefix); }
/** * @return a predicate that evaluates to <code>true</code> if the actual value can be parsed * into a non-negative integer. */ public Predicate nonNegativeInteger() { return matches("\\d*", "a non-negative integer (0,1,2,...)"); }
/** * @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"); }