Top Inners Fields Constructors Methods
org.aspectj.runtime.reflect

pack-priv Class JoinPointImpl

extends Object
implements ProceedingJoinPoint
Class Inheritance
All Implemented Interfaces
org.aspectj.lang.ProceedingJoinPoint, org.aspectj.lang.JoinPoint
Imports
java.util.Stack, org.aspectj.lang.JoinPoint, .ProceedingJoinPoint, .Signature, org.aspectj.lang.reflect.SourceLocation, org.aspectj.runtime.internal.AroundClosure

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv Object
private AroundClosure
private JoinPointImpl.InheritableThreadLocalAroundClosureStack
pack-priv Object[]
pack-priv JoinPoint.StaticPart
pack-priv Object

Constructor Summary

AccessConstructor and Description
public
JoinPointImpl(JoinPoint.StaticPart staticPart, Object _this, Object target, Object[] args)

Method Summary

Modifier and TypeMethod and Description
public Object[]
public String
getKind()

Implements org.aspectj.lang.JoinPoint.getKind.

This string is guaranteed to be interned.
public Signature
getSignature()

Implements org.aspectj.lang.JoinPoint.getSignature.

getStaticPart().getSignature() returns the same object
public SourceLocation
getSourceLocation()

Implements org.aspectj.lang.JoinPoint.getSourceLocation.

If there is no source location available, returns null.

public JoinPoint.StaticPart
public Object
getTarget()

Implements org.aspectj.lang.JoinPoint.getTarget.

Returns the target object.
public Object
getThis()

Implements org.aspectj.lang.JoinPoint.getThis.

Returns the currently executing object.

public Object
proceed()

Implements org.aspectj.lang.ProceedingJoinPoint.proceed.

Proceed with the next advice or target method invocation
public Object
proceed(Object[]
the arguments to proceed with
adviceBindings
)

Implements org.aspectj.lang.ProceedingJoinPoint.proceed.

Proceed with the next advice or target method invocation.
public void
set$AroundClosure(AroundClosure
the around closure to associate with this joinpoint
arc
)

Implements org.aspectj.lang.ProceedingJoinPoint.set$AroundClosure.

The joinpoint needs to know about its closure so that proceed can delegate to closure.run().
public void
stack$AroundClosure(AroundClosure
the around closure to associate with this joinpoint
arc
)

Overrides default org.aspectj.lang.ProceedingJoinPoint.stack$AroundClosure.

The joinpoint needs to know about its closure so that proceed can delegate to closure.run().
public final String
public final String
public final String
toString()

Overrides java.lang.Object.toString.

Implements org.aspectj.lang.JoinPoint.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

_thisback to summary
pack-priv Object _this
arcback to summary
private AroundClosure arc
arcsback to summary
private JoinPointImpl.InheritableThreadLocalAroundClosureStack arcs
argsback to summary
pack-priv Object[] args
staticPartback to summary
pack-priv JoinPoint.StaticPart staticPart
targetback to summary
pack-priv Object target

Constructor Detail

JoinPointImplback to summary
public JoinPointImpl(JoinPoint.StaticPart staticPart, Object _this, Object target, Object[] args)

Method Detail

getArgsback to summary
public Object[] getArgs()

Implements org.aspectj.lang.JoinPoint.getArgs.

Returns:Object[]

Doc from org.aspectj.lang.JoinPoint.getArgs.

the arguments at this join point

getKindback to summary
public String getKind()

Implements org.aspectj.lang.JoinPoint.getKind.

Doc from org.aspectj.lang.JoinPoint.getKind.

This string is guaranteed to be interned. getStaticPart().getKind() returns the same object.

Returns:String

a string representing the kind of join point.

getSignatureback to summary
public Signature getSignature()

Implements org.aspectj.lang.JoinPoint.getSignature.

Doc from org.aspectj.lang.JoinPoint.getSignature.

getStaticPart().getSignature() returns the same object

Returns:Signature

the signature at the join point.

getSourceLocationback to summary
public SourceLocation getSourceLocation()

Implements org.aspectj.lang.JoinPoint.getSourceLocation.

Doc from org.aspectj.lang.JoinPoint.getSourceLocation.

If there is no source location available, returns null.

Returns the SourceLocation of the defining class for default constructors.

getStaticPart().getSourceLocation() returns the same object.

Returns:SourceLocation

the source location corresponding to the join point.

getStaticPartback to summary
public JoinPoint.StaticPart getStaticPart()

Implements org.aspectj.lang.JoinPoint.getStaticPart.

Returns:JoinPoint.StaticPart

Doc from org.aspectj.lang.JoinPoint.getStaticPart.

an object that encapsulates the static parts of this join point.

getTargetback to summary
public Object getTarget()

Implements org.aspectj.lang.JoinPoint.getTarget.

Doc from org.aspectj.lang.JoinPoint.getTarget.

Returns the target object. This will always be the same object as that matched by the target pointcut designator. Unless you specifically need this reflective access, you should use the target pointcut designator to get at this object for better static typing and performance. Returns null when there is no target object

Returns:Object

the target object (or null if there isn't one)

getThisback to summary
public Object getThis()

Implements org.aspectj.lang.JoinPoint.getThis.

Doc from org.aspectj.lang.JoinPoint.getThis.

Returns the currently executing object. This will always be the same object as that matched by the this pointcut designator. Unless you specifically need this reflective access, you should use the this pointcut designator to get at this object for better static typing and performance.

Returns null when there is no currently executing object available. This includes all join points that occur in a static context.

Returns:Object

the currently executing object (or null if not available - e.g. static context)

proceedback to summary
public Object proceed() throws Throwable

Implements org.aspectj.lang.ProceedingJoinPoint.proceed.

Doc from org.aspectj.lang.ProceedingJoinPoint.proceed.

Proceed with the next advice or target method invocation

Returns:Object

the result of proceeding

Exceptions
Throwable:
if the invoked proceed throws anything
proceedback to summary
public Object proceed(Object[] adviceBindings) throws Throwable

Implements org.aspectj.lang.ProceedingJoinPoint.proceed.

Doc from org.aspectj.lang.ProceedingJoinPoint.proceed.

Proceed with the next advice or target method invocation. Unlike code style, proceed(..) in annotation style places different requirements on the parameters passed to it. The proceed(..) call takes, in this order:

  • If 'this()' was used in the pointcut for binding, it must be passed first in proceed(..).
  • If 'target()' was used in the pointcut for binding, it must be passed next in proceed(..) - it will be the first argument to proceed(..) if this() was not used for binding.
  • Finally come all the arguments expected at the join point, in the order they are supplied at the join point. Effectively the advice signature is ignored - it doesn't matter if a subset of arguments were bound or the ordering was changed in the advice signature, the proceed(..) calls takes all of them in the right order for the join point.
Since proceed(..) in this case takes an Object array, AspectJ cannot do as much compile time checking as it can for code style. If the rules above aren't obeyed then it will unfortunately manifest as a runtime error.
Parameters
adviceBindings:Object[]

the arguments to proceed with

Returns:Object

the result of proceeding

Exceptions
Throwable:
if the invoked proceed throws anything
set$AroundClosureback to summary
public void set$AroundClosure(AroundClosure arc)

Implements org.aspectj.lang.ProceedingJoinPoint.set$AroundClosure.

Doc from org.aspectj.lang.ProceedingJoinPoint.set$AroundClosure.

The joinpoint needs to know about its closure so that proceed can delegate to closure.run(). This internal method should not be called directly, and won't be visible to the end-user when packed in a jar (synthetic method).

Parameters
arc:AroundClosure

the around closure to associate with this joinpoint

stack$AroundClosureback to summary
public void stack$AroundClosure(AroundClosure arc)

Overrides default org.aspectj.lang.ProceedingJoinPoint.stack$AroundClosure.

Doc from org.aspectj.lang.ProceedingJoinPoint.stack$AroundClosure.

The joinpoint needs to know about its closure so that proceed can delegate to closure.run(). This internal method should not be called directly, and won't be visible to the end-user when packed in a jar (synthetic method). This should maintain a stack of closures as multiple around advice with proceed are targeting a joinpoint and the stack will need to be unwound when exiting nested advice. Passing a non null arc indicates a push, passing null indicates a pop.

Parameters
arc:AroundClosure

the around closure to associate with this joinpoint

toLongStringback to summary
public final String toLongString()

Implements org.aspectj.lang.JoinPoint.toLongString.

Returns:String

Doc from org.aspectj.lang.JoinPoint.toLongString.

an extended string representation of the join point.

toShortStringback to summary
public final String toShortString()

Implements org.aspectj.lang.JoinPoint.toShortString.

Returns:String

Doc from org.aspectj.lang.JoinPoint.toShortString.

an abbreviated string representation of the join point.

toStringback to summary
public final String toString()

Overrides java.lang.Object.toString.

Implements org.aspectj.lang.JoinPoint.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

org.aspectj.runtime.reflect back to summary

pack-priv Class JoinPointImpl.EnclosingStaticPartImpl

extends StaticPartImpl
implements EnclosingStaticPart
Class Inheritance
All Implemented Interfaces
org.aspectj.lang.JoinPoint.EnclosingStaticPart, org.aspectj.lang.JoinPoint.StaticPart

Field Summary

Inherited from org.aspectj.runtime.reflect.JoinPointImpl.StaticPartImpl:
kindsignaturesourceLocation

Constructor Summary

AccessConstructor and Description
public
EnclosingStaticPartImpl(int count, String kind, Signature signature, SourceLocation sourceLocation)

Method Summary

Inherited from org.aspectj.runtime.reflect.JoinPointImpl.StaticPartImpl:
getIdgetKindgetSignaturegetSourceLocationtoLongStringtoShortStringtoStringtoString

Constructor Detail

EnclosingStaticPartImplback to summary
public EnclosingStaticPartImpl(int count, String kind, Signature signature, SourceLocation sourceLocation)
org.aspectj.runtime.reflect back to summary

pack-priv Class JoinPointImpl.InheritableThreadLocalAroundClosureStack

extends InheritableThreadLocal<Stack<AroundClosure>>
Class Inheritance

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
protected Stack<AroundClosure>
childValue(Stack<AroundClosure>
the parent thread's value
parentValue
)

Overrides java.lang.InheritableThreadLocal.childValue.

Computes the child's initial value for this inheritable thread-local variable as a function of the parent's value at the time the child thread is created.
protected Stack<AroundClosure>
initialValue()

Overrides java.lang.ThreadLocal.initialValue.

Returns the current thread's "initial value" for this thread-local variable.

Constructor Detail

InheritableThreadLocalAroundClosureStackback to summary
pack-priv InheritableThreadLocalAroundClosureStack()

Method Detail

childValueback to summary
protected Stack<AroundClosure> childValue(Stack<AroundClosure> parentValue)

Overrides java.lang.InheritableThreadLocal.childValue.

Doc from java.lang.InheritableThreadLocal.childValue.

Computes the child's initial value for this inheritable thread-local variable as a function of the parent's value at the time the child thread is created. This method is called from within the parent thread before the child is started.

This method merely returns its input argument, and should be overridden if a different behavior is desired.

Parameters
parentValue:Stack<AroundClosure>

the parent thread's value

Returns:Stack<AroundClosure>

the child thread's initial value

Annotations
@Override
initialValueback to summary
protected Stack<AroundClosure> initialValue()

Overrides java.lang.ThreadLocal.initialValue.

Doc from java.lang.ThreadLocal.initialValue.

Returns the current thread's "initial value" for this thread-local variable. This method will be invoked the first time a thread accesses the variable with the get method, unless the thread previously invoked the set method, in which case the initialValue method will not be invoked for the thread. Normally, this method is invoked at most once per thread, but it may be invoked again in case of subsequent invocations of remove followed by get.

Returns:Stack<AroundClosure>

the initial value for this thread-local

Annotations
@Override
org.aspectj.runtime.reflect back to summary

pack-priv Class JoinPointImpl.StaticPartImpl

extends Object
implements StaticPart
Class Inheritance
All Implemented Interfaces
org.aspectj.lang.JoinPoint.StaticPart
Known Direct Subclasses
org.aspectj.runtime.reflect.JoinPointImpl.EnclosingStaticPartImpl

Field Summary

Modifier and TypeField and Description
private int
pack-priv String
pack-priv Signature
pack-priv SourceLocation

Constructor Summary

AccessConstructor and Description
public
StaticPartImpl(int id, String kind, Signature signature, SourceLocation sourceLocation)

Method Summary

Modifier and TypeMethod and Description
public int
getId()

Implements org.aspectj.lang.JoinPoint.StaticPart.getId.

Return the id for this JoinPoint.StaticPart.
public String
public Signature
public SourceLocation
getSourceLocation()

Implements org.aspectj.lang.JoinPoint.StaticPart.getSourceLocation.

Returns the source location corresponding to the join point.
public final String
public final String
pack-priv String
public final String
toString()

Overrides java.lang.Object.toString.

Implements org.aspectj.lang.JoinPoint.StaticPart.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

idback to summary
private int id
kindback to summary
pack-priv String kind
signatureback to summary
pack-priv Signature signature
sourceLocationback to summary
pack-priv SourceLocation sourceLocation

Constructor Detail

StaticPartImplback to summary
public StaticPartImpl(int id, String kind, Signature signature, SourceLocation sourceLocation)

Method Detail

getIdback to summary
public int getId()

Implements org.aspectj.lang.JoinPoint.StaticPart.getId.

Doc from org.aspectj.lang.JoinPoint.StaticPart.getId.

Return the id for this JoinPoint.StaticPart. All JoinPoint.StaticPart instances are assigned an id number upon creation. For each advised type the id numbers start at 0.
The id is guaranteed to remain constant across repeated executions of a program but may change if the code is recompiled.
The benefit of having an id is that it can be used for array index purposes which can be quicker than using the JoinPoint.StaticPart object itself in a map lookup.
Since two JoinPoint.StaticPart instances in different advised types may have the same id, then if the id is being used to index some joinpoint specific state then that state must be maintained on a pertype basis - either by using pertypewithin() or an ITD.

Returns:int

the id of this joinpoint

getKindback to summary
public String getKind()

Implements org.aspectj.lang.JoinPoint.StaticPart.getKind.

Returns:String

Doc from org.aspectj.lang.JoinPoint.StaticPart.getKind.

a string representing the kind of join point. This String is guaranteed to be interned

getSignatureback to summary
public Signature getSignature()

Implements org.aspectj.lang.JoinPoint.StaticPart.getSignature.

Returns:Signature

Doc from org.aspectj.lang.JoinPoint.StaticPart.getSignature.

the signature at the join point.

getSourceLocationback to summary
public SourceLocation getSourceLocation()

Implements org.aspectj.lang.JoinPoint.StaticPart.getSourceLocation.

Doc from org.aspectj.lang.JoinPoint.StaticPart.getSourceLocation.

Returns the source location corresponding to the join point. If there is no source location available, returns null.

Returns:SourceLocation

the SourceLocation of the defining class for default constructors

toLongStringback to summary
public final String toLongString()

Implements org.aspectj.lang.JoinPoint.StaticPart.toLongString.

Returns:String

Doc from org.aspectj.lang.JoinPoint.StaticPart.toLongString.

an extended string representation of the join point

toShortStringback to summary
public final String toShortString()

Implements org.aspectj.lang.JoinPoint.StaticPart.toShortString.

Returns:String

Doc from org.aspectj.lang.JoinPoint.StaticPart.toShortString.

an abbreviated string representation of the join point

toStringback to summary
pack-priv String toString(StringMaker sm)
toStringback to summary
public final String toString()

Overrides java.lang.Object.toString.

Implements org.aspectj.lang.JoinPoint.StaticPart.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.