Package org.springframework.beans.factory.parsing

# Interface SourceExtractor

All Known Implementing Classes:
  `NullSourceExtractor`, `PassThroughSourceExtractor`

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface SourceExtractor
Simple strategy allowing tools to control how source metadata is attached to the bean definition metadata.

Configuration parsers may provide the ability to attach source metadata during the parse phase. They will offer this metadata in a generic format which can be further modified by a `SourceExtractor` before being attached to the bean definition metadata.

Since:
  2.0
Author:
  Rob Harrop, Juergen Hoeller
See Also:
  - `BeanMetadataElement.getSource()`
  - `BeanDefinition`

## Method Summary

Modifier and Type
Method
Description
`Object`
`extractSource(Object sourceCandidate, org.springframework.core.io.Resource definingResource)`
Extract the source metadata from the candidate object supplied by the configuration parser.

## Method Details

### extractSource

@Nullable Object extractSource(Object sourceCandidate, @Nullable org.springframework.core.io.Resource definingResource)
Extract the source metadata from the candidate object supplied by the configuration parser.

Parameters:
  `sourceCandidate` - the original source metadata (never `null`)
  `definingResource` - the resource that defines the given source object (may be `null`)
Returns:
  the source metadata object to store (may be `null`)