Why wouldn't you do

@PluginAttributeInt(value="foo", defaultValue=1) int foo

?

That said, I'm really not crazy about this. I wish you could do

@PluginAttribute<Integer>(value="foo", defaultValue=1) int foo

Ralph

Sent from my iPad

> On May 31, 2014, at 12:50 PM, Gary Gregory <[email protected]> wrote:
> 
> So the bummer is that this redundant with the arg type in the signature:
> 
> @PluginAttributeInt (value="foo", defaultInt=1) int foo
> 
> We should also pick up the attribute name by reflection if it is missing from 
> the annotation.
> 
> But you'd only need it to spec a default value.  So could we keep 
> PluginAttribute with only a value and then have an annotation for each 
> default value type? @DefaultInt and so on..?
> 
> Ideally:
> 
> @PluginAttribute() @DefaultInt (1) int foo
> 
> Thoughts? 
> 
> Gary
> 
> 
> -------- Original message --------
> From: Paul Benedict
> Date:05/30/2014 22:15 (GMT-05:00)
> To: Apache Log4J Developers
> Subject: Re: PluginAttribute#defaultEnum()?
> 
> Totally cleaner.
> 
>> On May 30, 2014 8:58 PM, "Gary Gregory" <[email protected]> wrote:
>>> On Fri, May 30, 2014 at 9:39 PM, Paul Benedict <[email protected]> wrote:
>>> I think you guys are better off doing separate annotations to do strong 
>>> typing. You could use a stereotyping pattern like Bean Validation spec.
>>> 
>>> public @interface PluginAttribute ...
>>> 
>>> Then annotate other annotations with that:
>>> @PluginAttribute
>>> public @interface IntPluginAttribute
>>> 
>> 
>> I did propose that earlier ;-) It seems much cleaner...
>> 
>> Gary
>>  
>>> See how the Been Validation spec works to copy their pattern.
>>> 
>>>> On May 30, 2014 7:55 PM, "Gary Gregory" <[email protected]> wrote:
>>>> Hm... you cannot use Enum in the return type for an annotation attribute, 
>>>> only an actual enum, like RetentionPolicy. So it seems a no-go.
>>>> 
>>>> Gary
>>>> 
>>>> 
>>>>> On Fri, May 30, 2014 at 4:24 PM, Matt Sicker <[email protected]> wrote:
>>>>> I had the same hold-up when thinking about adding that, too. How about 
>>>>> RetentionPolicy.SOURCE? Or ElementType.TYPE? Something annotation-related 
>>>>> like that.
>>>>> 
>>>>> 
>>>>>> On 30 May 2014 13:12, Gary Gregory <[email protected]> wrote:
>>>>>> I added PluginAttribute#defaultClass() since we can have a Class has an 
>>>>>> attribute value.
>>>>>> 
>>>>>> One can also have an Enum as an attribute value, but what default should 
>>>>>> be use?
>>>>>> 
>>>>>> Gary
>>>>>> 
>>>>>> -- 
>>>>>> E-Mail: [email protected] | [email protected] 
>>>>>> Java Persistence with Hibernate, Second Edition
>>>>>> JUnit in Action, Second Edition
>>>>>> Spring Batch in Action
>>>>>> 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
>>>> JUnit in Action, Second Edition
>>>> Spring Batch in Action
>>>> 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
>> JUnit in Action, Second Edition
>> Spring Batch in Action
>> Blog: http://garygregory.wordpress.com 
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory

Reply via email to