[ 
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)

Reply via email to