Example usage for com.fasterxml.jackson.databind.util ClassUtil findSuperTypes

List of usage examples for com.fasterxml.jackson.databind.util ClassUtil findSuperTypes

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.util ClassUtil findSuperTypes.

Prototype

public static List<Class<?>> findSuperTypes(Class<?> paramClass1, Class<?> paramClass2) 

Source Link

Usage

From source file:com.github.mrenou.jacksonatic.internal.introspection.AnnotatedClassConstructor.java

@SuppressWarnings("unchecked")
private Optional<ClassMappingInternal<Object>> getClassMappingFromSuperTypes(Class<?> type,
        ClassesMapping serOrDeserClassesMapping, ClassesMapping mergedClassesMapping) {
    List<Class<?>> superTypes = ClassUtil.findSuperTypes(type, Object.class);
    Collections.reverse(superTypes);
    return Stream.concat(Stream.of(Object.class), superTypes.stream())
            .map(superType -> (Class<Object>) superType)
            .map(superType -> Optional.ofNullable(mergedClassesMapping.getOpt(superType)
                    .orElseGet(() -> mergeAndPutInMergedClassesMapping(mergedClassesMapping, superType,
                            serOrDeserClassesMapping.getOpt(superType),
                            classesMappingByOperation.get(ANY).getOpt(superType)))))
            .reduce(Optional.empty(), Mergeable::merge);
}