package MusicLandscape.util;
/**
* Encapsulates of concept of some object matching a pattern.<br>
*
* Implementing, concrete classes are used to decide whether a given object
* matches a pattern. More theoretically this class represents a generic predicate.
*
*
* @author TeM, JS
*
* @ProgrammingProblem.Category abstract generic class
* @ProgrammingProblem.Introduced ExerciseSheet05
*
*/
public abstract class MyMatcher<T> {
/**
* Matches a object against the pattern of this matcher.<br>
*
* @param t the object to match
* @return whether t matches the pattern of this matcher.
*/
public abstract boolean matches(T t);