org.jboss.aop.advice
Interface Interceptor

All Known Implementing Classes:
AbstractAdvice, CFlowInterceptor, GeneratedAdvisorInterceptor, PerInstanceAdvice, PerInstanceInterceptor, PerJoinpointAdvice, PerJoinpointInterceptor

public interface Interceptor

Intercepts one or more joinpoints.
The Interceptor is a specific type of aspect, that contains only one, well defined advice, the invoke method. Because of that, an Interceptor is also referred to as an advice.


Method Summary
 String getName()
          Returns the name of this interceptor.
 Object invoke(Invocation invocation)
          The single advice contained in the Interceptor.
 

Method Detail

getName

String getName()
Returns the name of this interceptor. This name is unique inside the domain.

Returns:
name the name that identifies this interceptor in its domain

invoke

Object invoke(Invocation invocation)
              throws Throwable
The single advice contained in the Interceptor.
To call the next interceptor or advice in the chain, this method must call invocation.invokeNext() method (if there are not elements left to be called in the chain, this method invokes the joinpoint itself). Not doing so means halting the execution of the interceptor chain and, hence, avoiding the execution of the joinpoint. This should be done only when the interceptor must replace the joinpoint execution.

Parameters:
invocation - represents the joinpoint to be intercepted
Returns:
the result value. This value will be returned to the previous interceptor/advice as a result of Invocation.invokeNext(). In case this is the first interceptor in the chain, this value will replace the joinpoint return value in the basis system.
Throws:
Throwable - may throw any exceptions declared by the joinpoint itself. If this exception is not declared and is not a runtime exception, it will be encapsulated in a RuntimeException before being thrown to the basis system.


Copyright © 2008 JBoss, a division of Red Hat, Inc.. All Rights Reserved.