Builders haven’t gone away, if that is what you are thinking. I think all Matt 
did was make it so you could use @PluginAttribute wherever you would have used 
@PluginBuilderAttribute. I am not really sure why. Nothing else should have 
changed.

Ralph

> On Jan 16, 2020, at 8:35 AM, Volkan Yazıcı <[email protected]> wrote:
> 
> Hello,
> 
> Started working on replacing JsonLayout with LogstashLayout. I have
> noticed that @PluginAttributeBuilder is deprecated in favor of
> @PluginAttribute. I am not equipped with the sufficient background on
> this decision's justification, but what I can tell is I find
> @PluginAttribute unpleasant to work with due to following reasons:
> 
> - Now I have a ctor with dozens of parameters that *must* be passed in
> tests. Builders were indicating the context as well:
> builder.setFooEnabled(true).setBarEnabled(false). Now that is all
> gone: new FooLayout(..., true, true, false, false, true, ...).
> 
> - I cannot pass dynamic defaults, that is,
> @PluginAttribute(defaultString = TimeZone.getDefault().getID()) is not
> possible.
> 
> - I need to silence the formatter: @formatter:off.
> 
> Would anybody mind explaining me what is the big win, please? Am I
> missing something?
> 
> Best regards.
> 


Reply via email to