public <G extends Generic> Fields(G g, FieldMapper<T, G> mapper) { Map<String, T> fields = readFields(g, new LinkedHashMap<String, T>(), mapper); this.map = new LinkedHashMap<String, T>(fields.size(), 1); this.map.putAll(fields); array = fill(map.values(), createArray(map.size())); }
public <G extends Generic> Fields(G g, FieldMapper<T, G> mapper) { Map<String, T> fields = readFields(g, new LinkedHashMap<String, T>(), mapper); this.map = new LinkedHashMap<String, T>(fields.size(), 1); this.map.putAll(fields); array = fill(map.values(), createArray(map.size())); }
protected <T extends FieldInfo, G extends Generic> Map<String, T> readFields(G generic, Map<String, T> fields, FieldMapper<T, G> mapper) { if (generic == null) return fields; readFields((G) generic.parent, fields, mapper); Field[] ff = generic.clazz.getDeclaredFields(); for (Field field : ff) { if (!Modifier.isTransient(field.getModifiers()) && !Modifier.isStatic(field.getModifiers()) && (field.getModifiers() & SYNTHETIC) == 0 // && !Modifier.isFinal(field.getModifiers()) // && !Modifier.isPrivate(field.getModifiers()) // && !Modifier.isProtected(field.getModifiers()) ) { field.setAccessible(true); fields.put(field.getName(), mapper.map(field, generic)); } } return fields; } }
protected <T extends FieldInfo, G extends Generic> Map<String, T> readFields(G generic, Map<String, T> fields, FieldMapper<T, G> mapper) { if (generic == null) return fields; readFields((G) generic.parent, fields, mapper); Field[] ff = generic.clazz.getDeclaredFields(); for (Field field : ff) { if (!Modifier.isTransient(field.getModifiers()) && !Modifier.isStatic(field.getModifiers()) && (field.getModifiers() & SYNTHETIC) == 0 // && !Modifier.isFinal(field.getModifiers()) // && !Modifier.isPrivate(field.getModifiers()) // && !Modifier.isProtected(field.getModifiers()) ) { field.setAccessible(true); T t = mapper.map(field, generic); if (t != null) fields.put(field.getName(), t); } } return fields; } }