From 4c2f57592d73b51d7e78b259dce843edd48b562b Mon Sep 17 00:00:00 2001 From: Erik Broes Date: Sun, 29 Jan 2012 11:22:11 +0100 Subject: Add some testing --- src/test/java/org/bukkit/support/Util.java | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/test/java/org/bukkit/support/Util.java (limited to 'src/test/java/org/bukkit/support/Util.java') diff --git a/src/test/java/org/bukkit/support/Util.java b/src/test/java/org/bukkit/support/Util.java new file mode 100644 index 00000000..2f24d9a4 --- /dev/null +++ b/src/test/java/org/bukkit/support/Util.java @@ -0,0 +1,31 @@ +package org.bukkit.support; + +import java.lang.reflect.Field; + +public class Util { + /* + public static T getInternalState(Object object, String fieldName) { + return getInternalState(object.getClass(), object, fieldName); + } + */ + + @SuppressWarnings("unchecked") + public static T getInternalState(Class clazz, Object object, String fieldName) { + Field field; + try { + field = clazz.getDeclaredField(fieldName); + } catch (SecurityException e) { + throw new RuntimeException("Not allowed to access " + clazz, e); + } catch (NoSuchFieldException e) { + throw new RuntimeException("Unable to find field " + fieldName, e); + } + + field.setAccessible(true); + try { + return (T) field.get(object); + } catch (IllegalArgumentException e) { + } catch (IllegalAccessException e) { + } + throw new RuntimeException("Unable to get internal value"); + } +} -- cgit v1.2.3