[
https://issues.apache.org/jira/browse/LOG4J2-860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16935105#comment-16935105
]
Matt Sicker commented on LOG4J2-860:
------------------------------------
I do have a TODO comment in the code to unify the annotations and make
parameter name reflection an option for default values. This will be a 3.0
change.
> Unify plugin builders and plugin factories
> ------------------------------------------
>
> Key: LOG4J2-860
> URL: https://issues.apache.org/jira/browse/LOG4J2-860
> Project: Log4j 2
> Issue Type: Improvement
> Components: Plugins
> Affects Versions: 2.2
> Reporter: Matt Sicker
> Priority: Major
>
> Before we can even settle on a preferred way to create plugins reflectively,
> it would be nice to combine the PluginAttribute and PluginBuilderAttribute
> annotations. In fact, allowing for flexibility in dependency injection for
> creating plugins would be better than strictly allowing factory methods or
> builder classes only. For instance, setter methods could be annotated for
> injection which allows for further customization.
> Since the ability to reflect on a parameter to get its name wasn't added
> until Java 1.8 (and alternatives require using bytecode libraries like asm),
> it would be nice to add some sort of plugin validation to the annotation
> processor to prevent users from forgetting to specify an attribute name when
> attached to a parameter instead of a field.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)