package io.airlift.airship.coordinator;
import com.google.common.base.Predicate;
import javax.annotation.Nullable;
import java.util.regex.Pattern;
public class RegexPredicate
implements Predicate<CharSequence>
{
private final Pattern pattern;
public RegexPredicate(String regex)
{
this(Pattern.compile(regex));
}
public RegexPredicate(Pattern pattern)
{
this.pattern = pattern;
}
public boolean apply(@Nullable CharSequence input)
{
return input != null && pattern.matcher(input).matches();
}
@Override
public String toString()
{
return pattern.pattern();
}
}