Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refine BindingReflectionHintsRegistrar infrastructure #29279

Closed
sdeleuze opened this issue Oct 7, 2022 · 0 comments
Closed

Refine BindingReflectionHintsRegistrar infrastructure #29279

sdeleuze opened this issue Oct 7, 2022 · 0 comments
Assignees
Labels
in: core Issues in core modules (aop, beans, core, context, expression) theme: aot An issue related to Ahead-of-time processing type: enhancement A general enhancement
Milestone

Comments

@sdeleuze
Copy link
Contributor

sdeleuze commented Oct 7, 2022

This issue intends to refine @RegisterReflectionForBinding, BindingReflectionHintsRegistrar and RegisterReflectionForBindingProcessor classes in order to improve the documentation, the extensibility and the implementation.

@sdeleuze sdeleuze added in: core Issues in core modules (aop, beans, core, context, expression) type: enhancement A general enhancement theme: aot An issue related to Ahead-of-time processing labels Oct 7, 2022
@sdeleuze sdeleuze added this to the 6.0.0-RC1 milestone Oct 7, 2022
@sdeleuze sdeleuze self-assigned this Oct 7, 2022
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
Implementation and Javadoc refinements.

See spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
After this commit, declared fields without type hierarchy processing
is replaced by public fields with type hierarchy processing which is
more consistent with how properties or record components are handled
and a better fit with binding use case.

Also fields are now registered only if needed.

See spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
This commit introduces a shouldSkipType(Class<?> type) method
and changes shouldRegisterMembers(Class<?> type) to
shouldSkipMembers(Class<?> type).

Closes spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
Implementation and Javadoc refinements.

See spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
After this commit, declared fields registration is replaced by
public fields registration with types used transitively which is
more consistent with how properties or record components are handled
and a better fit with binding use case.

Also fields are now registered only if needed.

See spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
This commit introduces a shouldSkipType(Class<?> type) method
and changes shouldRegisterMembers(Class<?> type) to
shouldSkipMembers(Class<?> type).

Closes spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
Implementation and Javadoc refinements.

See spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
This commit introduces a shouldSkipType(Class<?> type) method
and changes shouldRegisterMembers(Class<?> type) to
shouldSkipMembers(Class<?> type).

Closes spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 7, 2022
Implementation and Javadoc refinements.

See spring-projectsgh-29279
sdeleuze added a commit to sdeleuze/spring-framework that referenced this issue Oct 10, 2022
In order to keep the maximum of flexibility, this commit makes
shouldSkipType and shouldSkipMembers methods private.

That will allow for example to refactor
BindingReflectionHintsRegistrar in order to support skipping
custom classes specified via @RegisterReflectionForBinding
without having to subclass it.

See spring-projectsgh-29279
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: core Issues in core modules (aop, beans, core, context, expression) theme: aot An issue related to Ahead-of-time processing type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

1 participant