We can choose which attribute of the annotation to use based on the type
the annotation is attached to. That wouldn't be too hard.


On 26 May 2014 08:34, Gary Gregory <garydgreg...@gmail.com> wrote:

> On Mon, May 26, 2014 at 9:02 AM, Remko Popma <remko.po...@gmail.com>wrote:
>
>>
>>
>>
>> On Mon, May 26, 2014 at 9:58 PM, Gary Gregory <garydgreg...@gmail.com>wrote:
>>
>>> A recent commit contains:
>>>
>>>
>>>> +            @PluginAttribute(value = "blocking", defaultValue =
>>>> "true") final boolean blocking,
>>>>
>>>
>>> Using a String default for a non-string attribute seems like a punch in
>>> the eye ;-) This really feels unnatural.
>>>
>>> Currently, I cannot say:
>>>
>>> @PluginAttribute(value = "blocking", defaultValue = true) final boolean
>>> blocking,
>>> @PluginAttribute(value = "someInt", defaultValue = 123) final int
>>> blocking,
>>>
>>> That would require the annotation attribute's defaultValue to be typed
>>> as an Object which is illegal.
>>>
>>
>> Would it be an idea to have different attributes for the default value,
>> one for each type?
>> @PluginAttribute(value = "blocking", defaultBooleanValue = true) final
>> boolean blocking,
>> @PluginAttribute(value = "someInt", defaultIntValue = 123) final int
>> blocking,
>>
>>
>
> I do not think so. What would this mean:
>
> @PluginAttribute(value = "foo", defaultIntValue = 123, defaultBooleanValue
> = true) final int blocking,
>
> ?
>
> Gary
>
>
>>> I suggest:
>>>
>>> @BooleanPluginAttribute(value = "someBool", defaultValue = true) final
>>> boolean blocking
>>> @IntPluginAttribute(value = "someInt", defaultValue = 123) final int
>>> blocking
>>>
>>> If not, then at least say:
>>>
>>> @PluginAttribute(value = "blocking", defaultValue = TRUE)
>>>
>>> and do a static import of TRUE from our Strings class (assuming you'd
>>> add TRUE to Strings).
>>>
>>> If we are going to do typed configuration with a custom annotation
>>> mechanism it seems inevitable to have to go with IntPluginAttribute, and so
>>> on. Using mixed types looks very odd.
>>>
>>> Gary
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> 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: garydgreg...@gmail.com | ggreg...@apache.org
> 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 <boa...@gmail.com>

Reply via email to