That actually reminds me. Would it be a good idea to make a separate
annotation for plugin attributes for a builder class? The default value can
be inferred by not setting anything after the constructor (real default
values), and the name can be inferred by the field name. Plus, it could go
with the whole String value() default "" bit to override the name.


On 27 May 2014 23:28, Matt Sicker <[email protected]> wrote:

> Would make sense for that annotation due to the default value things.
>
>
> On 27 May 2014 23:12, Gary Gregory <[email protected]> wrote:
>
>> PluginAttribute.value() looks misnamed, why not call it "name"?
>>
>> This is better:
>>
>>     @PluginFactory
>>     public static ConsoleAppender createAppender(
>>             @PluginElement("Layout") Layout<? extends Serializable>
>> layout,
>>             @PluginElement("Filters") final Filter filter,
>>             @PluginAttribute(name= "target", defaultStringValue =
>> "SYSTEM_OUT") final String targetStr,
>>             @PluginAttribute("name") final String name,
>>             @PluginAttribute(name= "follow", defaultBooleanValue = false)
>> final String follow,
>>             @PluginAttribute(name= "ignoreExceptions",
>> defaultBooleanValue = true) final String ignore) {
>>
>> than:
>>
>>     @PluginFactory
>>     public static ConsoleAppender createAppender(
>>             @PluginElement("Layout") Layout<? extends Serializable>
>> layout,
>>             @PluginElement("Filters") final Filter filter,
>>             @PluginAttribute(value = "target", defaultStringValue =
>> "SYSTEM_OUT") final String targetStr,
>>             @PluginAttribute("name") final String name,
>>             @PluginAttribute(value = "follow", defaultBooleanValue =
>> false) final String follow,
>>             @PluginAttribute(value = "ignoreExceptions",
>> defaultBooleanValue = true) final String ignore) {
>>
>> IMO that is...
>>
>> 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
>>
>
>
>
> --
> Matt Sicker <[email protected]>
>



-- 
Matt Sicker <[email protected]>

Reply via email to