I understand now, thank you. All build methods do not use the same default. I'll remove the @Required tomorrow.
Gary On Sep 11, 2016 9:11 PM, "Matt Sicker" <[email protected]> wrote: > I mean if you do something like this: > > @PluginElement("Layout") > @Required > private Layout layout = PatternLayout.defaultLayout(); > > Then it should work. But if you defer the creation of a default layout > until you execute the build() method, then the validator will err out > before build() is called. > > On 11 September 2016 at 21:20, Gary Gregory <[email protected]> > wrote: > >> HI Matt, >> >> Right now, all of the build() methods handle null layouts by using a >> default layout. That works for programmatic configs. But in order for that >> to work from a config file, the @Required needs to be removed. >> >> I feel like I am not understanding something in your message :-( >> >> Gary >> >> On Sun, Sep 11, 2016 at 11:43 AM, Matt Sicker <[email protected]> wrote: >> >>> I thought that @Required would check the field at build time, not >>> injection time. If the field was set to null, then you're going to have a >>> bad time. >>> >>> On 11 September 2016 at 10:50, Gary Gregory <[email protected]> >>> wrote: >>> >>>> I forgot to say that: >>>> >>>> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder.build() >>>> org.apache.logging.log4j.core.appender.FileAppender.Builder.build() >>>> org.apache.logging.log4j.core.appender.RollingFileAppender.B >>>> uilder.build() >>>> org.apache.logging.log4j.core.appender.SocketAppender.Builder.build() >>>> >>>> All provide default layouts. >>>> >>>> Gary >>>> >>>> >>>> On Sun, Sep 11, 2016 at 8:48 AM, Gary Gregory <[email protected]> >>>> wrote: >>>> >>>>> I'm pretty sure we no longer need @Required on layout on >>>>> org.apache.logging.log4j.core.appender.AbstractAppender.Buil >>>>> der.layout. >>>>> >>>>> Would it be OK to say that an appender should provide a default layout? >>>>> >>>>> Gary >>>>> >>>>> -- >>>>> E-Mail: [email protected] | [email protected] >>>>> Java Persistence with Hibernate, Second Edition >>>>> <http://www.manning.com/bauer3/> >>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>>>> Spring Batch in Action <http://www.manning.com/templier/> >>>>> Blog: http://garygregory.wordpress.com >>>>> Home: http://garygregory.com/ >>>>> Tweet! http://twitter.com/GaryGregory >>>>> >>>> >>>> >>>> >>>> -- >>>> E-Mail: [email protected] | [email protected] >>>> Java Persistence with Hibernate, Second Edition >>>> <http://www.manning.com/bauer3/> >>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >>>> Spring Batch in Action <http://www.manning.com/templier/> >>>> Blog: http://garygregory.wordpress.com >>>> Home: http://garygregory.com/ >>>> Tweet! http://twitter.com/GaryGregory >>>> >>> >>> >>> >>> -- >>> Matt Sicker <[email protected]> >>> >> >> >> >> -- >> E-Mail: [email protected] | [email protected] >> Java Persistence with Hibernate, Second Edition >> <http://www.manning.com/bauer3/> >> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >> Spring Batch in Action <http://www.manning.com/templier/> >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory >> > > > > -- > Matt Sicker <[email protected]> >
