@NonNullApi

# Package org.springframework.data.util

Core utility APIs such as a type information framework to resolve generic types.

See: Description

Interface Summary
CastUtils
CloseableIterator<T>: A `CloseableIterator` serves as a bridging data structure for the underlying data store specific results that can be wrapped in a Java 8 `java.util.stream.Stream`.
MethodInvocationRecorder.PropertyNameDetectionStrategy
MethodInvocationRecorder.Recorded.ToCollectionConverter<T,S>
MethodInvocationRecorder.Recorded.ToMapConverter<T,S>
Optionals: Utility methods to work with `Optional`s.
ProxyUtils.ProxyDetector: SPI to extend Spring's default proxy detection capabilities.
ReflectionUtils.DescribedFieldFilter: A `ReflectionUtils.FieldFilter` that has a description.
Streamable<T>: Simple interface to ease streamability of `Iterable`s.
StreamUtils: Spring Data specific Java `Stream` utility methods and classes.
TypeInformation<S>: Interface to access property types and resolving generics on the way.

Class Summary
AnnotatedTypeScanner: Scanner to find types with annotations on the classpath.
AnnotationDetectionFieldCallback: A `ReflectionUtils.FieldCallback` that will inspect each field for a given annotation.
AnnotationDetectionMethodCallback<A extends Annotation>: `ReflectionUtils.MethodCallback` to find annotations of a given type.
BeanLookup: Simple helper to allow lenient lookup of beans of a given type from a `ListableBeanFactory`.
ClassTypeInformation<S>: `TypeInformation` for a plain `Class`.
DirectFieldAccessFallbackBeanWrapper: Custom extension of `BeanWrapperImpl` that falls back to direct field access in case the object or type being wrapped does not use accessor methods.
KotlinReflectionUtils: Reflection utility methods specific to Kotlin reflection.
Lazy<T>: Simple value type to delay the creation of an object using a `Supplier` returning the produced object for subsequent lookups.
MethodInvocationRecorder: API to record method invocations via method references on a proxy.
MethodInvocationRecorder.Recorded<T>
NullableUtils: Utility methods to introspect nullability rules declared in packages, classes and methods.
NullableWrapper: Simple value object to wrap a nullable delegate.
NullableWrapperConverters: Converters to wrap and unwrap nullable wrapper types potentially being available on the classpath.
Pair<S,T>: A tuple of things.
ParameterTypes: Abstraction over a list of parameter value types.
ParentTypeAwareTypeInformation<S>: Base class for `TypeInformation` implementations that need parent type awareness.
ParsingUtils: Utility methods for `String` parsing.
ProxyUtils: Proxy type detection utilities, extensible via `ProxyUtils.ProxyDetector` registered via Spring factories.
ReflectionUtils: Spring Data specific reflection utility methods and classes.
ReflectionUtils.AnnotationFieldFilter: A `ReflectionUtils.FieldFilter` for a given annotation.
Version: Value object to represent a Version consisting of major, minor and bugfix part.

## Package org.springframework.data.util Description

Core utility APIs such as a type information framework to resolve generic types.