private void collectFieldPaths(Class<?> clazz, MappedClass mappedClass) { if (!clazz.isInterface()) { MappedPath path; String classNs = mappedClass.getClassNs(); for (Field field : clazz.getDeclaredFields()) { path = getPathMapping(classNs, field, mappedClass); if (path != null) { mappedClass.addMappedPath(path); } } } }
private void collectMethodPaths(Class<?> clazz, MappedClass mappedClass) { String classNs = mappedClass.getClassNs(); for (Method method : clazz.getDeclaredMethods()) { MappedPath path = getPathMapping(classNs, method, mappedClass); if (path != null) { mappedClass.addMappedPath(path); } } }
private MappedClassBuilder addMappedPath(Field field, List<MappedPredicate> predicates, Annotation... annotations) { FieldProperty fieldProperty = new FieldProperty(field, annotations, mappedClass); fieldProperty.resolve(mappedClass); MappedPath mappedPath = new MappedPath(fieldProperty, predicates, false); mappedClass.addMappedPath(mappedPath); return this; }
public Configuration build() { if (converterRegistry == null) { converterRegistry = new ConverterRegistryImpl(); } // populate mappedSuperClasses for (MappedClass mappedClass : mappedClasses.values()) { if (!mappedClass.getJavaClass().getSuperclass().equals(Object.class)) { MappedClass mappedSuperClass = mappedClasses.get(mappedClass.getJavaClass().getSuperclass()); if (mappedSuperClass != null) { mappedClass.getMappedSuperClasses().add(mappedSuperClass); } } } // merge data for (MappedClass mappedClass : mappedClasses.values()) { Deque<MappedClass> supers = new ArrayDeque<MappedClass>(mappedClass.getMappedSuperClasses()); while (!supers.isEmpty()) { MappedClass mappedSuperClass = supers.pop(); supers.addAll(mappedSuperClass.getMappedSuperClasses()); for (MappedPath path : mappedSuperClass.getProperties()) { MappedProperty<?> property = (MappedProperty<?>) path.getMappedProperty().clone(); property.resolve(mappedClass); mappedClass.addMappedPath(new MappedPath(property, path.getPredicatePath(), !mappedClass.equals(property.getDeclaringClass()))); } } } return new SimpleConfiguration(converterRegistry, new HashSet<MappedClass>(mappedClasses.values())); }
MappedProperty<?> property = (MappedProperty<?>) path.getMappedProperty().clone(); property.resolve(mappedClass); mappedClass.addMappedPath(new MappedPath(property, path.getPredicatePath(), !mappedClass.equals(property.getDeclaringClass())));