| /* |
| * Copyright (C) 2014, Andrey Loskutov <loskutov@gmx.de> and others |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Distribution License v. 1.0 which is available at |
| * https://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| package org.eclipse.jgit.ignore.internal; |
| |
| import org.eclipse.jgit.ignore.IMatcher; |
| |
| /** |
| * Base class for default methods as {@link #toString()} and such. |
| * <p> |
| * This class is immutable and thread safe. |
| */ |
| public abstract class AbstractMatcher implements IMatcher { |
| |
| final boolean dirOnly; |
| |
| final String pattern; |
| |
| /** |
| * @param pattern |
| * string to parse |
| * @param dirOnly |
| * true if this matcher should match only directories |
| */ |
| AbstractMatcher(String pattern, boolean dirOnly) { |
| this.pattern = pattern; |
| this.dirOnly = dirOnly; |
| } |
| |
| /** {@inheritDoc} */ |
| @Override |
| public String toString() { |
| return pattern; |
| } |
| |
| /** {@inheritDoc} */ |
| @Override |
| public int hashCode() { |
| return pattern.hashCode(); |
| } |
| |
| /** {@inheritDoc} */ |
| @Override |
| public boolean equals(Object obj) { |
| if (this == obj) |
| return true; |
| if (!(obj instanceof AbstractMatcher)) |
| return false; |
| AbstractMatcher other = (AbstractMatcher) obj; |
| return dirOnly == other.dirOnly && pattern.equals(other.pattern); |
| } |
| } |