// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import java.util.Objects;
import org.jetbrains.annotations.Nullable;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;

public final class FilterString
{
    @NotNull
    private final String filterString;
    @Nullable
    private final Pattern pattern;
    
    public FilterString(@NotNull final String filterString) {
        this.filterString = filterString;
        Pattern pattern = null;
        try {
            pattern = Pattern.compile(filterString);
        }
        catch (final Throwable t) {
            Sentry.getCurrentScopes().getOptions().getLogger().log(SentryLevel.DEBUG, "Only using filter string for String comparison as it could not be parsed as regex: %s", filterString);
        }
        this.pattern = pattern;
    }
    
    @NotNull
    public String getFilterString() {
        return this.filterString;
    }
    
    public boolean matches(final String input) {
        return this.pattern != null && this.pattern.matcher(input).matches();
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == null || this.getClass() != o.getClass()) {
            return false;
        }
        final FilterString that = (FilterString)o;
        return Objects.equals(this.filterString, that.filterString);
    }
    
    @Override
    public int hashCode() {
        return Objects.hash(this.filterString);
    }
}
