All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.everit.json.schema.regexp.JavaUtilRegexpFactory Maven / Gradle / Ivy

Go to download

Implementation of the JSON Schema Core Draft v4 specification built with the org.json API

There is a newer version: 1.14.4
Show newest version
package org.everit.json.schema.regexp;

import java.util.Objects;
import java.util.Optional;
import java.util.regex.Pattern;

class JavaUtilRegexp extends AbstractRegexp {

    private final Pattern pattern;

    JavaUtilRegexp(String pattern) {
        super(pattern);
        this.pattern = Pattern.compile(pattern);
    }

    @Override public Optional patternMatchingFailure(String input) {
        if (pattern.matcher(input).find()) {
            return Optional.empty();
        } else {
            return Optional.of(new RegexpMatchingFailure());
        }
    }

    @Override public boolean equals(Object o) {
        if (this == o)
            return true;
        if (!(o instanceof JavaUtilRegexp))
            return false;
        JavaUtilRegexp that = (JavaUtilRegexp) o;
        return Objects.equals(pattern.pattern(), that.pattern.pattern());
    }

    @Override public int hashCode() {
        return Objects.hash(pattern);
    }
}

public class JavaUtilRegexpFactory implements RegexpFactory {
    @Override public Regexp createHandler(String regexp) {
        return new JavaUtilRegexp(regexp);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy