First off, Santosh, this is probably better asked on the user list (
[email protected]).  No big, though.

You can't really arbitrarily add a single line of code to a method, to my
knowledge, via aspectj.  You can, however, cause code to be executed before
and/or after a method.  Your intent will dictate which kind of advice you
need.  I recommend using the least powerful form of advice that satisfies
your need.

You have three choices of advice:  before, after & around.  After advice
comes in three flavors, corresponding to try/catch/finally:  after
returning, after throwing, and after (meaning "after finally").

Before advice executes, naturally before the joinpoint picked out by your
pointcut executes.  You can only prevent execution of the joinpoint by
having your before advice throw an exception.

Around advice, the most powerful, executes before the joinpoint, and allows
you to determine whether the joinpoint is allowed to execute.  If it
should, simply call the aspectj builtin method proceed() (which has
arguments that match that of your advice).  Remember to capture the return
value from the joinpoint so that you can either return it, change it, or
ignore it, returning something else.

After returning advice only executes after the normal return of the
joinpoint.  If the joinpoint throws, after returning advice will not
execute.

After throwing advice only executes after the joinpoint throws an
exception.  If the joinpoint returns normally, after throwing advice will
not execute.

Plain after advice means "after finally", and executes whether or not the
joinpoint threw an exception.

In your case, you could effectively "add a line of code" via before advice,
any type of after advice.  Using around advice would allow you to "add a
line of code" both before and after the method, if that's what you intended.

Also, more is available if you RTFM at
http://eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#advice

HTH,
Matthew


On Thu, Oct 24, 2013 at 1:54 AM, santosh kumar <[email protected]>wrote:

> Hi Everybody
>
> I am new to this mailing list.
>
> Actually i have started using aspectJ very recently in my project and i am
> finding it very cool way of programming.
> I have one query of which i am trying to find a solution so need your
> suggestions.
>
> My business case is very simple :
>
> 1. I have a method say *showUserDetails()*  in various java files of my
> project , i want to add a single line of code in this method through
> aspectJ. I dont want that i should go in each java file and add manually
> everywhere in this method.
>
> 2. I thought about aspectj (I hope my smart thought for this case :) ).
>
> 3. I have made pointcut to point to implementation of all these java
> methods.
>
> 4. i am not sure that how i can achieve this....Should i use around advice
> or what........
>
> Can you guys please let me know the way to do it.
>
> Thanks a TON in advance for your support.
>
> Regards
> Santosh
>
> _______________________________________________
> aspectj-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>
>


-- 
mailto:[email protected] <[email protected]>
skype:matthewadams12
googletalk:[email protected]
http://matthewadams.me
http://www.linkedin.com/in/matthewadams
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to