Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Intertype declarations results in too long names

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



Back to the top