aboutsummaryrefslogtreecommitdiff
path: root/shadowapi/src/main/java/org/robolectric/internal/IShadow.java
diff options
context:
space:
mode:
Diffstat (limited to 'shadowapi/src/main/java/org/robolectric/internal/IShadow.java')
-rw-r--r--shadowapi/src/main/java/org/robolectric/internal/IShadow.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/shadowapi/src/main/java/org/robolectric/internal/IShadow.java b/shadowapi/src/main/java/org/robolectric/internal/IShadow.java
new file mode 100644
index 000000000..045989ca2
--- /dev/null
+++ b/shadowapi/src/main/java/org/robolectric/internal/IShadow.java
@@ -0,0 +1,25 @@
+package org.robolectric.internal;
+
+import org.robolectric.util.ReflectionHelpers;
+
+@SuppressWarnings("TypeParameterUnusedInFormals")
+public interface IShadow {
+ <T> T extract(Object instance);
+
+ <T> T newInstanceOf(Class<T> clazz);
+
+ <T> T newInstance(Class<T> clazz, Class[] parameterTypes, Object[] params);
+
+ <T> T directlyOn(T shadowedObject, Class<T> clazz);
+
+ @SuppressWarnings("unchecked")
+ <R> R directlyOn(Object shadowedObject, String clazzName, String methodName, ReflectionHelpers.ClassParameter... paramValues);
+
+ <R, T> R directlyOn(T shadowedObject, Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter... paramValues);
+
+ <R, T> R directlyOn(Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter... paramValues);
+
+ <R> R invokeConstructor(Class<? extends R> clazz, R instance, ReflectionHelpers.ClassParameter... paramValues);
+
+ String directMethodName(String methodName);
+}