javax.interceptor

Interface InvocationContext


  • public interface InvocationContext

    Exposes context information about the intercepted invocation and operations that enable interceptor methods to control the behavior of the invocation chain.

    
        @AroundInvoke
        public Object logInvocation(InvocationContext ctx) throws Exception {
           String class = ctx.getMethod().getDeclaringClass().getName();
           String method = ctx.getMethod().getName();
           Logger.global.entering(class, method, ctx.getParameters());
           try {
              Object result = ctx.proceed();
              Logger.global.exiting(class, method, result);
              return result;
           }
           catch (Exception e) {
              Logger.global.throwing(class, method, e);
              throw e;
           }
    
        }
     
     
    Since:
    Interceptors 1.0
    • Method Detail

      • getTarget

        Object getTarget()
        Returns the target instance. For the AroundConstruct lifecycle callback interceptor method, the getTarget returns null if called before the proceed() method.
        Returns:
        the target instance
      • getTimer

        Object getTimer()
        Returns the timer object associated with a timeout method invocation on the target class, or a null value for method and lifecycle callback interceptor methods. For example, when associated with an EJB component timeout, this method returns Timer
        Returns:
        the timer object or a null value
        Since:
        Interceptors 1.1
      • getMethod

        Method getMethod()
        Returns the method of the target class for which the interceptor was invoked. In a lifecycle callback interceptor for which there is no corresponding lifecycle callback method on the target class or in the AroundConstruct lifecycle callback interceptor method, getMethod returns null.
        Returns:
        the method, or a null value
      • getConstructor

        Constructor<?> getConstructor()
        Returns the constructor of the target class for which the interceptor was invoked. For AroundConstruct interceptor, the constructor of the target class is returned. For all other interceptors, a null value is returned.
        Returns:
        the constructor, or a null value
      • getParameters

        Object[] getParameters()
        Returns the parameter values that will be passed to the method or constructor of the target class. If setParameters(java.lang.Object[]) has been called, getParameters returns the values to which the parameters have been set.
        Returns:
        the parameter values, as an array
        Throws:
        IllegalStateException - if invoked within a lifecycle callback method which is not an AroundConstruct callback.
      • setParameters

        void setParameters(Object[] params)
        Sets the parameter values that will be passed to the method or constructor of the target class.
        Parameters:
        params - the parameter values, as an array
        Throws:
        IllegalStateException - if invoked within a lifecycle callback method which is not an AroundConstruct callback.
        IllegalArgumentException - if the types of the given parameter values do not match the types of the method or constructor parameters, or if the number of parameters supplied does not equal the number of method or constructor parameters (if the last parameter is a vararg parameter of type T, it is considered to be equivalent to a parameter of type T[]).
      • getContextData

        Map<String,Object> getContextData()
        Enables an interceptor to retrieve or update the data associated with the invocation by another interceptor, business method,and/or webservices context in the invocation chain. If interceptors are invoked as a result of the invocation on a web service endpoint, the returned value will be an instance of javax.xml.rpc.handler.MessageContext
        Returns:
        the context data associated with this invocation or lifecycle callback. If there is no context data, an empty Map<String,Object> object will be returned.
      • proceed

        Object proceed()
                throws Exception
        Proceed to the next interceptor in the interceptor chain. For the around-invoke or around-timeout interceptor methods, the invocation of the last interceptor method in the chain causes the invocation of the target class method. For AroundConstruct lifecycle callback interceptor methods, the invocation of the last interceptor method in the chain causes the target instance to be created. For all other lifecycle callback interceptor methods, if there is no callback method defined on the target class, the invocation of proceed in the last interceptor method in the chain is a no-op

        Return the result of the next method invoked, or a null value if the method has return type void.

        Returns:
        the return value of the next method in the chain
        Throws:
        Exception

Traduction non disponible

Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Version en cache

21/08/2025 18:30:41 Cette version de la page est en cache (à la date du 21/08/2025 18:30:41) afin d'accélérer le traitement.
Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la version plus récente de la page.

Document créé le 14/04/2008, dernière modification le 18/08/2025
Source du document imprimé : https://www.gaudry.be/java-api-javaee-rf-javax/interceptor/InvocationContext.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : https://docs.oracle.com, InvocationContext (Java(TM) EE 7 Specification APIs)

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.