[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
Re: [aspectj-users] Intertype declarations results in too long names
|
- From: Andy Clement <andrew.clement@xxxxxxxxx>
- Date: Mon, 2 Nov 2009 14:53:20 -0800
- Delivered-to: aspectj-users@eclipse.org
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=gtLS3+RhG9aNliiYL+6kP1PZS8vd3Z9ie5G6tF1oCyQ=; b=STRrjI8SZjIipIZ6EZS6bEq8mUu7SO7o8N2rBrpzfuwEok+1Asrjc4JR1dgGQVT7kL fzTw43xNeG0wlLssB6EQLQ+pygKbADcy6AdBQHIdxEM/SioXb1MmNZwdrC8Mw8zIKNsm 2grUG+IHNeTuNjHPkhyRvDuiurNtxKpPK9xlU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=Iol+wehn/hUCK8Pdqi4AdR+R94/lWHMPh2HNRzn48MASoRbLtaXHTj6dwPJZbUpEIn 6NyqR2i3Pd3RCI44jjtKdgqFGnJ5MHzrUqmXZuiDWDCZy2MHrJnpENUCDrnE1TaBPE0z CLxVSQr723enAQDV2JO8Gmpaw6jGqQfAppVVM=
> but that adds in a declare statement
Just to say, if you annotate the ITD, that will be on the introduced
target method - you don't need an additional 'declare @method'.
>From a Roo project:
@javax.persistence.Id
@javax.persistence.GeneratedValue(strategy=javax.persistence.GenerationType.AUTO)
@javax.persistence.Column(name="id")
private java.lang.Long Pet.id;
cheers,
Andy
2009/11/2 Dave Whittaker <dave@xxxxxxxxxx>:
> Just thought I'd throw in here with a case where I've ran into problems with
> this... JPA. If you have common fields you want to inject into an entity
> you might try to do something like
>
> private String CommonInterface.commonField
>
> And expect at runtime that will result in a db column named common_field, or
> whatever else your naming strategy comes up with. Sure you could use the
> @Column annotation and explicitly give it a name, but that adds in a declare
> statement and it is definitely a bit confusing when you first run across the
> issue. JPA is not the only framework to do this type of reflection these
> days, Seam's @In injection is another one that tries to determine a value
> based on the name of the field.
>
> Of course i imagine this was done to avoid naming collisions when you
> receive fields from multiple ITDs and I'm not sure I see a better solution.
>
> On Nov 2, 2009, at 5:03 PM, Andrew Eisenberg wrote:
>
>> Hi,
>>
>> The ajc$interField$mypack_mysubpack_MyAspect$id is internal and not
>> expected to be directly referenced in the source code. It is only
>> needed for the byte code (i.e., you should not be concerned with it).
>> All you need to know is that the declaration declares an Integer field
>> 'id' on MyClass that is private to the aspect (ie- it is not
>> accessible anywhere outside the aspect).
>>
>> Unless you require knowledge about the byte code, the byte code name
>> should not be of concern to you. However, if you do require knowledge
>> about the byte code, please explain what that is and perhaps we can
>> help you.
>>
>> --a
>>
>> On Mon, Nov 2, 2009 at 2:45 PM, db <dbconrado@xxxxxxxxx> wrote:
>>>
>>> Hi All,
>>>
>>> I have an intertype declaration like this:
>>>
>>> private Integer MyClass.id;
>>>
>>> but, when it was compiled/weaved, this attribute receive the name:
>>> ajc$interField$mypack_mysubpack_MyAspect$id.
>>> I want MyClass receive an id attribute and not a ajc$...$id attribute.
>>> How to do it?
>>>
>>> Thanks!
>>>
>>> PS: Sorry for my poor English. It isn't my native language :).
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>