public F getFields() { if (fields != null) return fields; fields = (F) new Fields(this); return fields; }
protected void initInterfaces(Generic[] result, Type[] interfaces, Map<String, G> types, Map<Type, Generic<T, F, G>> cyclicDependencies) { for (int i = 0; i < interfaces.length; i++) { result[i] = create(interfaces[i], types, cyclicDependencies); } }
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)); }
@Override public JsonFieldSetter create(Field field, boolean setAccessible) { return (JsonFieldSetter) super.create(field, setAccessible); }
@Override public JsonGeneric type(int i) { return super.type(i); }
public static int write(String s, byte[] bytes, int offset) { char[] chars = StringReflection.chars(s); int l = chars.length + offset; for (int i = offset; i < l; i++) { bytes[i] = (byte) chars[i - offset]; } return l; } }
@Override public char[] chars(String s) { return (char[]) value.getObject(s); }
@Override public int offset(String s) { return offset.getInteger(s); }
public static Fields<FieldInfo> getFields(Class clazz) { return getFields(clazz, DEFAULT_MAPPER); }
public FieldInfo(Field field, T reflection, Map<String, G> types) { this.field = field; this.reflection = reflection; this.generic = createGeneric(field, types); }
public static int offset(String s) { return reflections.offset(s); }
protected Generic(Class c, G parent, G[] typeParameters) { init(); this.clazz = c; this.parent = parent; this.typeParameters = typeParameters; }
@Override public JsonGeneric parent() { return super.parent(); }
@Override public JsonFieldSetter create(Class clazz, String name, boolean setAccessible) throws NoSuchFieldException { return (JsonFieldSetter) super.create(clazz, name, setAccessible); }
public F getFields() { if (fields != null) return fields; fields = (F) new Fields(this); return fields; }
public G getType(String name) { return type(name); }
protected void initInterfaces(Generic[] result, Type[] interfaces, Map<String, G> types, Map<Type, Generic<T, F, G>> cyclicDependencies) { for (int i = 0; i < interfaces.length; i++) { result[i] = create(interfaces[i], types, cyclicDependencies); } }
public FieldInfo(Field field, T reflection, Map<String, G> types) { this.field = field; this.reflection = reflection; this.generic = createGeneric(field, types); }