/* Copyright (c) 2000-2006 hamcrest.org */ package org.hamcrest.core; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.Factory; import org.hamcrest.BaseMatcher; /** * Tests whether the value is an instance of a class. */ public class IsInstanceOf extends BaseMatcher { private final Class theClass; /** * Creates a new instance of IsInstanceOf * * @param theClass The predicate evaluates to true for instances of this class * or one of its subclasses. */ public IsInstanceOf(Class theClass) { this.theClass = theClass; } public boolean matches(Object item) { return theClass.isInstance(item); } public void describeTo(Description description) { description.appendText("an instance of ") .appendText(theClass.getName()); } /** * Is the value an instance of a particular type? */ @Factory public static Matcher instanceOf(Class type) { return new IsInstanceOf(type); } }