# Hierarchy For Package org.springframework.data.util

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.springframework.data.util.AnnotatedTypeScanner (implements org.springframework.context.EnvironmentAware, org.springframework.context.ResourceLoaderAware)
  - org.springframework.data.util.AnnotationDetectionFieldCallback (implements org.springframework.util.ReflectionUtils.FieldCallback)
  - org.springframework.data.util.AnnotationDetectionMethodCallback<A> (implements org.springframework.util.ReflectionUtils.MethodCallback)
  - org.springframework.data.util.BeanLookup
  - org.springframework.data.util.ClassTypeInformation<S>
  - org.springframework.data.util.KotlinReflectionUtils
  - org.springframework.data.util.Lazy<T> (implements java.util.function.Supplier<T>)
  - org.springframework.data.util.MethodInvocationRecorder
  - org.springframework.data.util.MethodInvocationRecorder.Recorded<T>
  - org.springframework.data.util.NullableUtils
  - org.springframework.data.util.NullableWrapper
  - org.springframework.data.util.NullableWrapperConverters
  - org.springframework.data.util.Pair<S,T>
  - org.springframework.data.util.ParameterTypes
  - org.springframework.data.util.ParentTypeAwareTypeInformation<S>
  - org.springframework.data.util.ParsingUtils
  - org.springframework.beans.PropertyEditorRegistrySupport (implements org.springframework.beans.PropertyEditorRegistry)
    - org.springframework.beans.TypeConverterSupport (implements org.springframework.beans.TypeConverter)
      - org.springframework.beans.AbstractPropertyAccessor (implements org.springframework.beans.ConfigurablePropertyAccessor)
        - org.springframework.beans.AbstractNestablePropertyAccessor
          - org.springframework.beans.BeanWrapperImpl (implements org.springframework.beans.BeanWrapper)
            - org.springframework.data.util.DirectFieldAccessFallbackBeanWrapper
  - org.springframework.data.util.ProxyUtils
  - org.springframework.data.util.ReflectionUtils
  - org.springframework.data.util.ReflectionUtils.AnnotationFieldFilter (implements org.springframework.data.util.ReflectionUtils.DescribedFieldFilter)
  - org.springframework.data.util.Version (implements java.lang.Comparable<T>)

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - org.springframework.data.util.CloseableIterator<T> (also extends java.util.Iterator<E>)
- org.springframework.data.util.CastUtils
- java.util.function.Function<T,R>
  - org.springframework.data.util.MethodInvocationRecorder.Recorded.ToCollectionConverter<T,S>
  - org.springframework.data.util.MethodInvocationRecorder.Recorded.ToMapConverter<T,S>
- java.lang.Iterable<T>
  - org.springframework.data.util.Streamable<T> (also extends java.util.function.Supplier<T>)
- java.util.Iterator<E>
  - org.springframework.data.util.CloseableIterator<T> (also extends java.io.Closeable)
- org.springframework.data.util.MethodInvocationRecorder.PropertyNameDetectionStrategy
- org.springframework.data.util.Optionals
- org.springframework.data.util.ProxyUtils.ProxyDetector
- org.springframework.util.ReflectionUtils.FieldFilter
  - org.springframework.data.util.ReflectionUtils.DescribedFieldFilter
- org.springframework.data.util.StreamUtils
- java.util.function.Supplier<T>
  - org.springframework.data.util.Streamable<T> (also extends java.lang.Iterable<T>)
- org.springframework.data.util.TypeInformation<S>