package abbot.finder.matchers;
import abbot.finder.Matcher;
import java.awt.Component;
/** Provides matching of components by class. */
public class ClassMatcher extends AbstractMatcher {
private Class cls;
private boolean mustBeShowing;
public ClassMatcher(Class cls) {
this(cls, false);
}
public ClassMatcher(Class cls, boolean mustBeShowing) {
this.cls = cls;
this.mustBeShowing = mustBeShowing;
}
public boolean matches(Component c) {
return cls.isAssignableFrom(c.getClass())
&& (!mustBeShowing || c.isShowing());
}
public String toString() {
return "Class matcher (" + cls.getName() + ")";
}
}