summaryrefslogtreecommitdiffstats
path: root/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java
diff options
context:
space:
mode:
Diffstat (limited to 'hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java')
-rw-r--r--hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java b/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java
new file mode 100644
index 0000000..df20824
--- /dev/null
+++ b/hamcrest-core/src/org/hamcrest/core/IsInstanceOf.java
@@ -0,0 +1,44 @@
+/* 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<Object> {
+ 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<Object> instanceOf(Class<?> type) {
+ return new IsInstanceOf(type);
+ }
+
+}