List of usage examples for java.time.format DateTimeFormatter toFormat
public Format toFormat()
From source file:org.talend.dataprep.api.filter.SimpleFilterService.java
/** * Test a string value against a pattern returned during value analysis. * * @param value A string value. May be null. * @param pattern A pattern as returned in value analysis. * @return <code>true</code> if value matches, <code>false</code> otherwise. *///from ww w . j a v a2s. co m private boolean matches(String value, String pattern) { if (value == null && pattern == null) { return true; } if (value == null) { return false; } // Character based patterns if (StringUtils.containsAny(pattern, new char[] { 'A', 'a', '9' })) { if (value.length() != pattern.length()) { return false; } final char[] valueArray = value.toCharArray(); final char[] patternArray = pattern.toCharArray(); for (int i = 0; i < valueArray.length; i++) { if (patternArray[i] == 'A') { if (!Character.isUpperCase(valueArray[i])) { return false; } } else if (patternArray[i] == 'a') { if (!Character.isLowerCase(valueArray[i])) { return false; } } else if (patternArray[i] == '9') { if (!Character.isDigit(valueArray[i])) { return false; } } else { if (valueArray[i] != patternArray[i]) { return false; } } } } else { final DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); try { formatter.toFormat().parseObject(value); } catch (ParseException e) { return false; } } return true; }