private static FieldReflection getFieldReflection(Class clazz, String fieldName, boolean printStackTrace) { try { return new FieldReflectionFactory().create(clazz, fieldName, true); } catch (NoSuchFieldException e) { if (printStackTrace) e.printStackTrace(); } return null; }
private static FieldReflection getFieldReflection(Class clazz, String fieldName, boolean printStackTrace) { try { return new FieldReflectionFactory().create(clazz, fieldName, true); } catch (NoSuchFieldException e) { if (printStackTrace) e.printStackTrace(); } return null; }
private static FieldReflection getByteBufferAddressReflection() { try { return new FieldReflectionFactory().create(Buffer.class, "address", true); } catch (NoSuchFieldException e) { throw Unchecked.rethrow(e); } }
@Test public void test_parameter_has_name() throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchFieldException { Constructor<java.lang.reflect.Parameter> parameterConstructor = (Constructor<java.lang.reflect.Parameter>) java.lang.reflect.Parameter.class.getDeclaredConstructors()[0]; parameterConstructor.setAccessible(true); Method method = (Method) UnsafeTools.getUnsafe().allocateInstance(Method.class); java.lang.reflect.Parameter parameter = parameterConstructor.newInstance("fieldName", 0, method, 0); new FieldReflectionFactory().create(Executable.class, "hasRealParameterData", true).setBoolean(method, true); new FieldReflectionFactory().create(Executable.class, "parameters", true).setObject(method, Array.newInstance(java.lang.reflect.Parameter.class, 1)); Assert.assertEquals("fieldName", ParametersHelper.getParameterName(parameter)); }
private void testReflectionTypes() throws NoSuchFieldException { FieldReflectionFactory factory = new FieldReflectionFactory(); Assert.assertTrue(factory.create(TestClass.class, "i") instanceof IntegerReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "l") instanceof LongReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "b") instanceof ByteReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "s") instanceof ShortReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "c") instanceof CharReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "f") instanceof FloatReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "d") instanceof DoubleReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "aBoolean") instanceof BooleanReflectionGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "string") instanceof ObjectReflectionGetterSetter); }
private void testUnsafeTypes() throws NoSuchFieldException { FieldReflectionFactory factory = new FieldReflectionFactory(); Assert.assertTrue(factory.create(TestClass.class, "i") instanceof IntegerUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "l") instanceof LongUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "b") instanceof ByteUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "s") instanceof ShortUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "c") instanceof CharUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "f") instanceof FloatUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "d") instanceof DoubleUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "aBoolean") instanceof BooleanUnsafeGetterSetter); Assert.assertTrue(factory.create(TestClass.class, "string") instanceof ObjectUnsafeGetterSetter); }
private void doTestGet() throws NoSuchFieldException { Object test = new TestClass(); FieldReflectionFactory factory = new FieldReflectionFactory(); Assert.assertEquals(1, factory.create(TestClass.class, "i").getInteger(test)); Assert.assertEquals(2l, factory.create(TestClass.class, "l").getLong(test)); Assert.assertEquals((byte) 3, factory.create(TestClass.class, "b").getByte(test)); Assert.assertEquals((short) 4, factory.create(TestClass.class, "s").getShort(test)); Assert.assertEquals((char) 5, factory.create(TestClass.class, "c").getChar(test)); Assert.assertEquals(6f, factory.create(TestClass.class, "f").getFloat(test), 0); Assert.assertEquals(7d, factory.create(TestClass.class, "d").getDouble(test), 0); Assert.assertEquals(true, factory.create(TestClass.class, "aBoolean").getBoolean(test)); Assert.assertEquals("foo", factory.create(TestClass.class, "string").getObject(test)); }
private void doTestSet() throws NoSuchFieldException { TestClass test = new TestClass(); FieldReflectionFactory factory = new FieldReflectionFactory(); factory.create(TestClass.class, "i").setInteger(test, 2); factory.create(TestClass.class, "l").setLong(test, 3l); factory.create(TestClass.class, "b").setByte(test, (byte) 4); factory.create(TestClass.class, "s").setShort(test, (short) 5); factory.create(TestClass.class, "c").setChar(test, (char) 6); factory.create(TestClass.class, "f").setFloat(test, 7f); factory.create(TestClass.class, "d").setDouble(test, 8d); factory.create(TestClass.class, "aBoolean").setBoolean(test, false); factory.create(TestClass.class, "string").setObject(test, "bar"); Assert.assertEquals(2, test.i); Assert.assertEquals(3l, test.l); Assert.assertEquals((byte) 4, test.b); Assert.assertEquals((short) 5, test.s); Assert.assertEquals((char) 6, test.c); Assert.assertEquals(7f, test.f, 0); Assert.assertEquals(8d, test.d, 0); Assert.assertEquals(false, test.aBoolean); Assert.assertEquals("bar", test.string); }