Example usage for java.time.format DateTimeFormatter toFormat

List of usage examples for java.time.format DateTimeFormatter toFormat

Introduction

In this page you can find the example usage for java.time.format DateTimeFormatter toFormat.

Prototype

public Format toFormat() 

Source Link

Document

Returns this formatter as a java.text.Format instance.

Usage

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;
}