1 /*
   2  * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package javax.xml.ws.handler;
  27 
  28 import javax.xml.ws.ProtocolException;
  29 import javax.xml.ws.handler.MessageContext;
  30 
  31 /** The {@code Handler} interface
  32  *  is the base interface for JAX-WS handlers.
  33  *

  34  *  @since 1.6, JAX-WS 2.0
  35 **/
  36 public interface Handler<C extends MessageContext> {
  37 
  38   /** The {@code handleMessage} method is invoked for normal processing
  39    *  of inbound and outbound messages. Refer to the description of the handler
  40    *  framework in the JAX-WS specification for full details.
  41    *
  42    *  @param context the message context.
  43    *  @return An indication of whether handler processing should continue for
  44    *  the current message
  45    *                 <ul>
  46    *                 <li>Return {@code true} to continue
  47    *                     processing.</li>
  48    *                 <li>Return {@code false} to block
  49    *                     processing.</li>
  50    *                  </ul>
  51    *  @throws RuntimeException Causes the JAX-WS runtime to cease
  52    *    handler processing and generate a fault.
  53    *  @throws ProtocolException Causes the JAX-WS runtime to switch to
  54    *    fault message processing.
  55   **/
  56   public boolean handleMessage(C context);
  57 
  58   /** The {@code handleFault} method is invoked for fault message
  59    *  processing.  Refer to the description of the handler
  60    *  framework in the JAX-WS specification for full details.
  61    *
  62    *  @param context the message context
  63    *  @return An indication of whether handler fault processing should continue
  64    *  for the current message
  65    *                 <ul>
  66    *                 <li>Return {@code true} to continue
  67    *                     processing.</li>
  68    *                 <li>Return {@code false} to block
  69    *                     processing.</li>
  70    *                  </ul>
  71    *  @throws RuntimeException Causes the JAX-WS runtime to cease
  72    *    handler fault processing and dispatch the fault.
  73    *  @throws ProtocolException Causes the JAX-WS runtime to cease
  74    *    handler fault processing and dispatch the fault.
  75   **/
  76   public boolean handleFault(C context);
  77 
  78   /**
  79    * Called at the conclusion of a message exchange pattern just prior to
  80    * the JAX-WS runtime dispatching a message, fault or exception.  Refer to
  81    * the description of the handler
  82    * framework in the JAX-WS specification for full details.
  83    *
  84    * @param context the message context
  85   **/
  86   public void close(MessageContext context);
  87 }
--- EOF ---