The Spring Framework

## org.springframework.aop.aspectj
Class MethodInvocationProceedingJoinPoint

    java.lang.Object
      org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint

All Implemented Interfaces:
  org.aspectj.lang.JoinPoint, org.aspectj.lang.JoinPoint.StaticPart, org.aspectj.lang.ProceedingJoinPoint

    public class MethodInvocationProceedingJoinPoint

extends Object
implements org.aspectj.lang.ProceedingJoinPoint, org.aspectj.lang.JoinPoint.StaticPart

Implementation of AspectJ ProceedingJoinPoint interface wrapping an AOP Alliance MethodInvocation.

Note: the `getThis()` method returns the current Spring AOP proxy. The `getTarget()` method returns the current Spring AOP target (which may be `null` if there is no target), and is a plain POJO without any advice. If you want to call the object and have the advice take effect, use `getThis()`. A common example is casting the object to an introduced interface in the implementation of an introduction.

Of course there is no such distinction between target and proxy in AspectJ.

Since:
  2.0
Author:
  Rod Johnson, Juergen Hoeller, Adrian Colyer

Nested Class Summary

Nested classes/interfaces inherited from interface org.aspectj.lang.JoinPoint
`org.aspectj.lang.JoinPoint.EnclosingStaticPart, org.aspectj.lang.JoinPoint.StaticPart`

Field Summary

Fields inherited from interface org.aspectj.lang.JoinPoint
`ADVICE_EXECUTION, CONSTRUCTOR_CALL, CONSTRUCTOR_EXECUTION, EXCEPTION_HANDLER, FIELD_GET, FIELD_SET, INITIALIZATION, METHOD_CALL, METHOD_EXECUTION, PREINITIALIZATION, STATICINITIALIZATION, SYNCHRONIZATION_LOCK, SYNCHRONIZATION_UNLOCK`

Constructor Summary
`MethodInvocationProceedingJoinPoint(ProxyMethodInvocation methodInvocation)` Create a new MethodInvocationProceedingJoinPoint, wrapping the given Spring ProxyMethodInvocation object.

Method Summary
`Object[]` `getArgs()`
`String` `getKind()`
`org.aspectj.lang.Signature` `getSignature()`
`org.aspectj.lang.reflect.SourceLocation` `getSourceLocation()`
`org.aspectj.lang.JoinPoint.StaticPart` `getStaticPart()`
`Object` `getTarget()` Returns the Spring AOP target.
`Object` `getThis()` Returns the Spring AOP proxy.
`Object` `proceed()`
`Object` `proceed(Object[] arguments)`
`void` `set$AroundClosure(org.aspectj.runtime.internal.AroundClosure aroundClosure)`
`String` `toLongString()`
`String` `toShortString()`
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### MethodInvocationProceedingJoinPoint

    public MethodInvocationProceedingJoinPoint(ProxyMethodInvocation methodInvocation)

  Create a new MethodInvocationProceedingJoinPoint, wrapping the given Spring ProxyMethodInvocation object.

  Parameters:
    `methodInvocation` - the Spring ProxyMethodInvocation object

Method Detail

### set$AroundClosure

    public void set$AroundClosure(org.aspectj.runtime.internal.AroundClosure aroundClosure)

  Specified by:
    `set$AroundClosure` in interface `org.aspectj.lang.ProceedingJoinPoint`

### proceed

    public Object proceed()
                   throws Throwable

  Specified by:
    `proceed` in interface `org.aspectj.lang.ProceedingJoinPoint`
  Throws:
    `Throwable`

### proceed

    public Object proceed(Object[] arguments)
                   throws Throwable

  Specified by:
    `proceed` in interface `org.aspectj.lang.ProceedingJoinPoint`
  Throws:
    `Throwable`

### getThis

    public Object getThis()

  Returns the Spring AOP proxy. Cannot be `null`.

  Specified by:
    `getThis` in interface `org.aspectj.lang.JoinPoint`

### getTarget

    public Object getTarget()

  Returns the Spring AOP target. May be `null` if there is no target.

  Specified by:
    `getTarget` in interface `org.aspectj.lang.JoinPoint`

### getArgs

    public Object[] getArgs()

  Specified by:
    `getArgs` in interface `org.aspectj.lang.JoinPoint`

### getSignature

    public org.aspectj.lang.Signature getSignature()

  Specified by:
    `getSignature` in interface `org.aspectj.lang.JoinPoint`
  Specified by:
    `getSignature` in interface `org.aspectj.lang.JoinPoint.StaticPart`

### getSourceLocation

    public org.aspectj.lang.reflect.SourceLocation getSourceLocation()

  Specified by:
    `getSourceLocation` in interface `org.aspectj.lang.JoinPoint`
  Specified by:
    `getSourceLocation` in interface `org.aspectj.lang.JoinPoint.StaticPart`

### getKind

    public String getKind()

  Specified by:
    `getKind` in interface `org.aspectj.lang.JoinPoint`
  Specified by:
    `getKind` in interface `org.aspectj.lang.JoinPoint.StaticPart`

### getStaticPart

    public org.aspectj.lang.JoinPoint.StaticPart getStaticPart()

  Specified by:
    `getStaticPart` in interface `org.aspectj.lang.JoinPoint`

### toShortString

    public String toShortString()

  Specified by:
    `toShortString` in interface `org.aspectj.lang.JoinPoint`
  Specified by:
    `toShortString` in interface `org.aspectj.lang.JoinPoint.StaticPart`

### toLongString

    public String toLongString()

  Specified by:
    `toLongString` in interface `org.aspectj.lang.JoinPoint`
  Specified by:
    `toLongString` in interface `org.aspectj.lang.JoinPoint.StaticPart`

### toString

    public String toString()

  Specified by:
    `toString` in interface `org.aspectj.lang.JoinPoint`
  Specified by:
    `toString` in interface `org.aspectj.lang.JoinPoint.StaticPart`
  Overrides:
    `toString` in class `Object`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.