/* * Copyright (C) 2014, Andrey Loskutov 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. *

* 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; } @Override public String toString() { return pattern; } @Override public int hashCode() { return pattern.hashCode(); } @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); } }