@Override public void initialize(A constraintAnnotation) { ConstraintValidator.super.initialize(constraintAnnotation); final PatternDescriptor pd = toDescriptor.apply(constraintAnnotation); final Flag flags[] = pd.flags(); int intFlag = 0; for (Flag flag : flags) { intFlag = intFlag | flag.getValue(); } try { pattern = Pattern.compile(pd.regexp(), intFlag); } catch (PatternSyntaxException e) { throw new IllegalArgumentException("Invalid regular expression.", e); } }
@Override public void initialize(Email emailAnnotation) { super.initialize( emailAnnotation ); Pattern.Flag[] flags = emailAnnotation.flags(); int intFlag = 0; for ( Pattern.Flag flag : flags ) { intFlag = intFlag | flag.getValue(); } // we only apply the regexp if there is one to apply if ( !".*".equals( emailAnnotation.regexp() ) || emailAnnotation.flags().length > 0 ) { try { pattern = java.util.regex.Pattern.compile( emailAnnotation.regexp(), intFlag ); } catch (PatternSyntaxException e) { throw LOG.getInvalidRegularExpressionException( e ); } } }
@Override public void initialize(Pattern parameters) { Pattern.Flag[] flags = parameters.flags(); int intFlag = 0; for ( Pattern.Flag flag : flags ) { intFlag = intFlag | flag.getValue(); } try { pattern = java.util.regex.Pattern.compile( parameters.regexp(), intFlag ); } catch (PatternSyntaxException e) { throw LOG.getInvalidRegularExpressionException( e ); } escapedRegexp = InterpolationHelper.escapeMessageParameter( parameters.regexp() ); }
@Override public void initialize(A constraintAnnotation) { ConstraintValidator.super.initialize(constraintAnnotation); final PatternDescriptor pd = toDescriptor.apply(constraintAnnotation); final Flag flags[] = pd.flags(); int intFlag = 0; for (Flag flag : flags) { intFlag = intFlag | flag.getValue(); } try { pattern = Pattern.compile(pd.regexp(), intFlag); } catch (PatternSyntaxException e) { throw new IllegalArgumentException("Invalid regular expression.", e); } }
@Override public void initialize(Pattern parameters) { Pattern.Flag[] flags = parameters.flags(); int intFlag = 0; for ( Pattern.Flag flag : flags ) { intFlag = intFlag | flag.getValue(); } try { pattern = java.util.regex.Pattern.compile( parameters.regexp(), intFlag ); } catch (PatternSyntaxException e) { throw log.getInvalidRegularExpressionException( e ); } escapedRegexp = InterpolationHelper.escapeMessageParameter( parameters.regexp() ); }
/** * Combines a given set of javax.validation.constraints.Pattern.Flag instances into one bitmask suitable for * java.util.regex.Pattern consumption. * * @param flags - list of javax.validation.constraints.Pattern.Flag instances to combine * @return combined bitmask for regex flags */ private int combineFlags(final Pattern.Flag[] flags) { int combined = 0; for (Pattern.Flag f : flags) { combined |= f.getValue(); } return combined; }
public HashMap<String, Object> reassessParameters(Map<String, Object> constraintParams) { HashMap<String, Object> params = new HashMap<String, Object>(); params.put("regexp", convertRegex((String) constraintParams.get("regexp"))); Flag[] flags = (Flag[]) constraintParams.get("flags"); int[] values = new int[flags.length]; for (int i = 0; i < values.length; i++) values[i] = flags[i].getValue(); ArrayList<String> changedFlags = convertRegexFlags(values); if (changedFlags.size() > 0) params.put("flags", changedFlags); return params; }
public void initialize(Pattern annotation) { Pattern.Flag flags[] = annotation.flags(); int intFlag = 0; for (Pattern.Flag flag : flags) { intFlag = intFlag | flag.getValue(); } try { pattern = java.util.regex.Pattern.compile(annotation.regexp(), intFlag); } catch (PatternSyntaxException e) { throw new IllegalArgumentException("Invalid regular expression.", e); } }
private static PatternFlag[] convertPatternFlags(Flag[] flags) { if (flags != null && flags.length > 0) { PatternFlag[] pfs = new PatternFlag[flags.length]; for (int i = 0; i < flags.length; i++) { pfs[i] = PatternFlag.fromFlag(flags[i].getValue()); } } return new PatternFlag[0]; }