Class CosIdAutoConfiguration
This configuration class sets up the fundamental components of the CosId framework:
- ID generator provider for managing different types of ID generators
- Field definition parsers for identifying ID fields in entities
- Accessor parser and registry for runtime ID field access
The configuration is enabled when ConditionalOnCosIdEnabled conditions are met
and automatically registers the necessary Spring beans with appropriate ordering and priorities.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionProvides the annotation-based field definition parser with highest precedence.compositeFieldDefinitionParser(List<FieldDefinitionParser> fieldDefinitionParsers) Creates a composite field definition parser that combines multiple parsers.cosIdAccessorParser(FieldDefinitionParser definitionParser) Provides the default CosId accessor parser for runtime field access.cosIdAccessorRegistry(CosIdAccessorParser cosIdAccessorParser) Provides the default CosId accessor registry for managing field accessors.Provides the default ID generator provider instance.
-
Constructor Details
-
CosIdAutoConfiguration
public CosIdAutoConfiguration()
-
-
Method Details
-
idGeneratorProvider
Provides the default ID generator provider instance.This bean supplies a singleton instance of
DefaultIdGeneratorProviderthat manages all registered ID generators in the application. It serves as the central registry for accessing ID generators by name.- Returns:
- the default ID generator provider instance
-
annotationDefinitionParser
Provides the annotation-based field definition parser with highest precedence.This parser identifies ID fields marked with CosId annotations and has the highest precedence to ensure annotation-based configuration takes priority.
- Returns:
- the annotation field definition parser instance
-
compositeFieldDefinitionParser
@Primary @Bean public FieldDefinitionParser compositeFieldDefinitionParser(List<FieldDefinitionParser> fieldDefinitionParsers) Creates a composite field definition parser that combines multiple parsers.This primary parser aggregates all available
FieldDefinitionParserbeans and tries them in order until one successfully identifies ID fields. The composite approach allows for flexible field identification strategies.- Parameters:
fieldDefinitionParsers- list of all available field definition parsers- Returns:
- a composite field definition parser
-
cosIdAccessorParser
@Bean @ConditionalOnMissingBean public CosIdAccessorParser cosIdAccessorParser(FieldDefinitionParser definitionParser) Provides the default CosId accessor parser for runtime field access.This parser analyzes classes and creates accessors for ID fields identified by the field definition parser. It enables runtime reading and writing of ID values.
- Parameters:
definitionParser- the field definition parser to use for field identification- Returns:
- a new default accessor parser instance
-
cosIdAccessorRegistry
@Bean @ConditionalOnMissingBean public CosIdAccessorRegistry cosIdAccessorRegistry(CosIdAccessorParser cosIdAccessorParser) Provides the default CosId accessor registry for managing field accessors.This registry maintains a cache of accessor parsers for different entity classes and provides efficient access to ID field manipulation capabilities.
- Parameters:
cosIdAccessorParser- the accessor parser to use for creating accessors- Returns:
- a new default accessor registry instance
-