org.aspectj.runtime.internal

## Class AroundClosure

- java.lang.Object
- - org.aspectj.runtime.internal.AroundClosure

    public abstract class AroundClosure
    extends Object

### Field Summary

Fields
`protected int` `bitflags`
`protected Object[]` `preInitializationState`
`protected Object[]` `state`

### Constructor Summary

Constructors
Constructor and Description
`AroundClosure()`
`AroundClosure(Object[] state)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`int` `getFlags()`
`Object[]` `getPreInitializationState()`
`Object[]` `getState()`
`ProceedingJoinPoint` `linkClosureAndJoinPoint()` This method is called to implicitly associate the closure with the joinpoint as required for @AJ aspect proceed()
`ProceedingJoinPoint` `linkClosureAndJoinPoint(int flags)` This method is called to implicitly associate the closure with the joinpoint as required for @AJ aspect proceed()
`ProceedingJoinPoint` `linkStackClosureAndJoinPoint(int flags)` This method is called to implicitly associate the closure with the joinpoint as required for @AJ aspect proceed()
`abstract Object` `run(Object[] args)`
`void` `unlink()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### state

    protected Object[] state

#### bitflags

    protected int bitflags

#### preInitializationState

    protected Object[] preInitializationState

### Constructor Detail

#### AroundClosure

    public AroundClosure()

#### AroundClosure

    public AroundClosure(Object[] state)

### Method Detail

#### getFlags

    public int getFlags()

#### getState

    public Object[] getState()

#### getPreInitializationState

    public Object[] getPreInitializationState()

#### run

    public abstract Object run(Object[] args)
                        throws Throwable

Parameters:
  `args` - the same arguments as passed to the proceed (with primitives coerced to Object types)
Returns:
  the result of the invocation with those arguments
Throws:
  `Throwable` - if underlying invoked code throws an exception

#### linkClosureAndJoinPoint

    public ProceedingJoinPoint linkClosureAndJoinPoint()

This method is called to implicitly associate the closure with the joinpoint as required for @AJ aspect proceed()

Returns:
  the associated ProceedingJoinPoint

#### linkStackClosureAndJoinPoint

    public ProceedingJoinPoint linkStackClosureAndJoinPoint(int flags)

This method is called to implicitly associate the closure with the joinpoint as required for @AJ aspect proceed()

Parameters:
  `flags` - indicating whether this/target found at joinpoint and bound
Returns:
  the associated ProceedingJoinPoint

#### linkClosureAndJoinPoint

    public ProceedingJoinPoint linkClosureAndJoinPoint(int flags)

This method is called to implicitly associate the closure with the joinpoint as required for @AJ aspect proceed()

Parameters:
  `flags` - indicating whether this/target found at joinpoint and bound
Returns:
  the associated ProceedingJoinPoint

#### unlink

    public void unlink()