A little off topic, and maybe I'm missing something.. but shouldn't
javax.enterprise.util.AnnotationLiteral ignore any @NonBinding members
in its equals() test? Or is that handled elsewhere?
@Override
public boolean equals(Object other)
{
if (other instanceof Annotation)
{
Annotation that = (Annotation) other;
if (this.annotationType().equals(that.annotationType()))
{
for (Method member : members)
{
Object thisValue = invoke(member, this);
Object thatValue = invoke(member, that);
if (thisValue.getClass().isArray() &&
thatValue.getClass().isArray())
{
if (!Arrays.equals(Object[].class.cast(thisValue),
Object[].class.cast(thatValue)))
{
return false;
}
}
else if (!thisValue.equals(thatValue))
{
return false;
}
}
return true;
}
}
return false;
}
On 30/11/09 13:39, Stuart Douglas wrote:
Sorry, I forgot to CC in seam-dev
________________________________________
From: Gavin King [gavin.king(a)gmail.com]
Sent: Monday, 30 November 2009 2:39 PM
To: Stuart Douglas
Subject: Re: [seam-dev] First cab off the rank!
Yes, you're right. So you would need to implement the annotation @interface.
On Sun, Nov 29, 2009 at 10:27 PM, Stuart Douglas
<stuart(a)baileyroberts.com.au> wrote:
> What about for @NonBinding members? Won't implementations need to perform their
own equality check if there are non binding members?
>
> Stuart
>
> ________________________________________
> From: Gavin King [gavin.king(a)gmail.com]
> Sent: Monday, 30 November 2009 1:22 PM
> To: Shane Bryzak
> Cc: Stuart Douglas; seam-dev(a)lists.jboss.org
> Subject: Re: [seam-dev] First cab off the rank!
>
> Yeah. Probably you could just stick the members in an array. You
> probably don't need to actually implement the annotation interface.
> You would only need to implement Annotation.
>
> Well, the spec does not say explicitly that this would work, but it
> seems fairly safe.
>
> Sent from my iPhone
>
> On Nov 29, 2009, at 9:07 PM, Shane Bryzak<sbryzak(a)redhat.com> wrote:
>
>
>> Good point - isn't this simply a case though of implementing the
>> equals() and hashCode() methods and checking that the members are
>> equal,
>> i.e. the same way that AnnotationLiteral does it?
>>
>> On 30/11/09 06:36, Stuart Douglas wrote:
>>
>>> Does it still work when the annotation has members? That was why I
>>> needed the javassist.
>>>
>>> Stuart
>>>
>>> ________________________________________
>>> From: seam-dev-bounces(a)lists.jboss.org [seam-dev-
>>> bounces(a)lists.jboss.org] On Behalf Of Shane Bryzak
>>> [sbryzak(a)redhat.com]
>>> Sent: Monday, 30 November 2009 5:34 AM
>>> To: Gavin King
>>> Cc: seam-dev(a)lists.jboss.org
>>> Subject: Re: [seam-dev] First cab off the rank!
>>>
>>> Nope, just wrote my own impl of Annotation which I could then pass
>>> into
>>> BeanManager.getBeans().
>>>
>>> On 30/11/09 04:32, Gavin King wrote:
>>>
>>>
>>>> You used a jdk dynamicproxy? Probably a better idea.
>>>>
>>>> Sent from my iPhone
>>>>
>>>> On Nov 29, 2009, at 1:01 PM, Shane Bryzak<sbryzak(a)redhat.com>
>>>> wrote:
>>>>
>>>>
>>>>
>>>>> Done, although I didn't need to use Javassist. ;)
>>>>>
>>>>> On 30/11/09 02:38, Gavin King wrote:
>>>>>
>>>>>
>>>>>> Stuart has some code to do this using javassist.
>>>>>>
>>>>>> On Sun, Nov 29, 2009 at 2:00 AM, Shane
Bryzak<sbryzak(a)redhat.com>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Almost got this working, however I need to be able to
>>>>>>> reflectively
>>>>>>> create an
>>>>>>> AnnotationLiteral, given a String containing the fully
qualified
>>>>>>> name of the
>>>>>>> qualifier. Anyone done this before?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>> _______________________________________________
>>> seam-dev mailing list
>>> seam-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/seam-dev
>>>
>>>
>> _______________________________________________
>> seam-dev mailing list
>> seam-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/seam-dev
>>
>
--
Gavin King
gavin.king(a)gmail.com
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
_______________________________________________
seam-dev mailing list
seam-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev