public String toString() { return field.getDeclaringClass().getCanonicalName() + "." + getName(); }
public Object getStatic() { return get(null); }
public TypeContext(FieldDescriptor fieldDescriptor) { this(fieldDescriptor, fieldDescriptor.getType()); }
private boolean acceptField(FieldDescriptor fieldDescriptor) { return !fieldDescriptor.isTransient() && !fieldDescriptor.isStatic() && !fieldDescriptor.isSynthetic() && !fieldDescriptor.hasAnnotation(VersionIgnore.class); }
public TypeDescriptor getType() { return resolveType(field.getGenericType()); }
private void collectFields(Class<?> clazz, Map<String, FieldDescriptor> allFields) { for (Field field : clazz.getDeclaredFields()) { if (typeDescriptors.fieldFilter.apply(field) && !allFields.containsKey(field.getName())) { allFields.put(field.getName(), new FieldDescriptor(this, field)); } } Class<?> superClass = clazz.getSuperclass(); if (superClass != null && !superClass.equals(Object.class)) { collectFields(superClass, allFields); } }
private boolean acceptIdField(FieldDescriptor fieldDescriptor) { return acceptField(fieldDescriptor) && fieldDescriptor.hasAnnotation(Id.class); }
public final int hashCode() { return 31 * getDeclaringType().hashCode() + field.hashCode(); }
private void add(FieldDescriptor fieldDescriptor) { if (acceptIdField(fieldDescriptor)) { String name = getName(fieldDescriptor, fieldDescriptor.getName()); setIdentifier(name, fieldDescriptor, new TypeContext(fieldDescriptor)); } else if (acceptField(fieldDescriptor)) { String name = getName(fieldDescriptor, fieldDescriptor.getName()); add(name, fieldDescriptor, new TypeContext(fieldDescriptor)); } }