# Package org.springframework.core

Provides basic classes for exception handling and version detection, and other core helpers that are not specific to any part of the framework.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AliasRegistry | Common interface for managing aliases.
  AttributeAccessor | Interface defining a generic contract for attaching and accessing metadata to/from arbitrary objects.
  ControlFlow | Interface to be implemented by objects that can return information about the current call stack.
  ErrorCoded | Interface that can be implemented by exceptions etc that are error coded.
  InfrastructureProxy | Interface to be implemented by transparent resource proxies that need to be considered as equal to the underlying resource, for example for consistent lookup key comparisons.
  Ordered | Interface that can be implemented by objects that should be orderable, for example in a Collection.
  ParameterNameDiscoverer | Interface to discover parameter names for methods and constructors.
  PriorityOrdered | Extension of the `Ordered` interface, expressing a 'priority' ordering: Order values expressed by PriorityOrdered objects always apply before order values of 'plain' Ordered values.
  SmartClassLoader | Interface to be implemented by a reloading-aware ClassLoader (e.g.

- Class Summary
  Class | Description
  --- | ---
  AttributeAccessorSupport | Support class for `AttributeAccessors`, providing a base implementation of all methods.
  BridgeMethodResolver | Helper for resolving synthetic `bridge Methods` to the `Method` being bridged.
  CollectionFactory | Factory for collections, being aware of Java 5 and Java 6 collections.
  ConfigurableObjectInputStream | Special ObjectInputStream subclass that resolves class names against a specific ClassLoader.
  Constants | This class can be used to parse other classes containing constant definitions in public static final members.
  ControlFlowFactory | Static factory to conceal the automatic choice of the ControlFlow implementation class.
  Conventions | Provides methods to support various naming and other conventions used throughout the framework.
  DecoratingClassLoader | Base class for decorating ClassLoaders such as `OverridingClassLoader` and `ShadowingClassLoader`, providing common handling of excluded packages and classes.
  DefaultParameterNameDiscoverer | Default implementation of the `ParameterNameDiscoverer` strategy interface, using the Java 8 standard reflection mechanism (if available), and falling back to the ASM-based `LocalVariableTableParameterNameDiscoverer` for checking debug information in the class file.
  ExceptionDepthComparator | Comparator capable of sorting exceptions based on their depth from the thrown exception type.
  GenericCollectionTypeResolver | Helper class for determining element types of collections and maps.
  GenericTypeResolver | Helper class for resolving generic types against type variables.
  JdkVersion | Internal helper class used to find the Java/JVM version that Spring is operating on, to allow for automatically adapting to the present platform's capabilities.
  LocalVariableTableParameterNameDiscoverer | Implementation of `ParameterNameDiscoverer` that uses the LocalVariableTable information in the method attributes to discover parameter names.
  MethodParameter | Helper class that encapsulates the specification of a method parameter, i.e.
  NamedInheritableThreadLocal<T> | `InheritableThreadLocal` subclass that exposes a specified name as `NamedInheritableThreadLocal.toString()` result (allowing for introspection).
  NamedThreadLocal<T> | `ThreadLocal` subclass that exposes a specified name as `NamedThreadLocal.toString()` result (allowing for introspection).
  NestedExceptionUtils | Helper class for implementing exception classes which are capable of holding nested exceptions.
  OrderComparator | `Comparator` implementation for `Ordered` objects, sorting by order value ascending (resp.
  OverridingClassLoader | `ClassLoader` that does not always delegate to the parent loader, as normal class loaders do.
  ParameterizedTypeReference<T> | The purpose of this class is to enable capturing and passing a generic `Type`.
  PrioritizedParameterNameDiscoverer | ParameterNameDiscoverer implementation that tries several ParameterNameDiscoverers in succession.
  ResolvableType | Encapsulates a Java `Type`, providing access to `supertypes`, `interfaces`, and `generic parameters` along with the ability to ultimately `resolve` to a `Class`.
  SimpleAliasRegistry | Simple implementation of the `AliasRegistry` interface.
  SpringProperties | Static holder for local Spring properties, i.e.
  SpringVersion | Class that exposes the Spring version.
  StandardReflectionParameterNameDiscoverer | `ParameterNameDiscoverer` implementation which uses JDK 8's reflection facilities for introspecting parameter names (based on the "-parameters" compiler flag).

- Exception Summary
  Exception | Description
  --- | ---
  ConstantException | Exception thrown when the `Constants` class is asked for an invalid constant name.
  NestedCheckedException | Handy class for wrapping checked `Exceptions` with a root cause.
  NestedIOException | Subclass of `IOException` that properly handles a root cause, exposing the root cause just like NestedChecked/RuntimeException does.
  NestedRuntimeException | Handy class for wrapping runtime `Exceptions` with a root cause.

## Package org.springframework.core Description

Provides basic classes for exception handling and version detection, and other core helpers that are not specific to any part of the framework.