001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020 package javax.xml.rpc.handler; 021 022 import java.util.List; 023 import java.util.Map; 024 025 /** 026 * The <code>javax.xml.rpc.handler.HandlerChain</code> represents 027 * a list of handlers. All elements in the HandlerChain are of 028 * the type <code>javax.xml.rpc.handler.Handler</code>. 029 * <p> 030 * An implementation class for the <code>HandlerChain</code> 031 * interface abstracts the policy and mechanism for the invocation 032 * of the registered handlers. 033 * 034 * @version $Rev: 467553 $ $Date: 2006-10-25 00:01:51 -0400 (Wed, 25 Oct 2006) $ 035 */ 036 public interface HandlerChain extends List { 037 038 /** 039 * The <code>handleRequest</code> method initiates the request 040 * processing for this handler chain. 041 * @param context MessageContext parameter provides access to 042 * the request SOAP message. 043 * @return boolean Returns <code>true</code> if all handlers in 044 * chain have been processed. Returns <code>false</code> 045 * 046 * if a handler in the chain returned 047 * <code>false</code> from its handleRequest 048 * method. 049 * @throws javax.xml.rpc.JAXRPCException if any processing error happens 050 */ 051 public boolean handleRequest(MessageContext context); 052 053 /** 054 * The <code>handleResponse</code> method initiates the response 055 * processing for this handler chain. 056 * 057 * @param context MessageContext parameter provides access to the response 058 * SOAP message. 059 * @return boolean Returns <code>true</code> if all handlers in 060 * chain have been processed. Returns <code>false</code> 061 * if a handler in the chain returned 062 * <code>false</code> from its handleResponse method. 063 * @throws javax.xml.rpc.JAXRPCException if any processing error happens 064 */ 065 public boolean handleResponse(MessageContext context); 066 067 /** 068 * The <code>handleFault</code> method initiates the SOAP 069 * fault processing for this handler chain. 070 * 071 * @param context MessageContext parameter provides access to the SOAP 072 * message. 073 * @return Returns boolean Returns <code>true</code> if all handlers in 074 * chain have been processed. Returns <code>false</code> 075 * if a handler in the chain returned 076 * <code>false</code> from its handleFault method. 077 * @throws javax.xml.rpc.JAXRPCException if any processing error happens 078 */ 079 public boolean handleFault(MessageContext context); 080 081 /** 082 * Initializes the configuration for a HandlerChain. 083 * 084 * @param config Configuration for the initialization of this handler 085 * chain 086 * 087 * @throws javax.xml.rpc.JAXRPCException if there is any error that prevents 088 * initialization 089 */ 090 public void init(Map config); 091 092 /** 093 * Indicates the end of lifecycle for a HandlerChain. 094 * 095 * @throws javax.xml.rpc.JAXRPCException if there was any error that 096 * prevented destroy from completing 097 */ 098 public void destroy(); 099 100 /** 101 * Sets SOAP Actor roles for this <code>HandlerChain</code>. This 102 * specifies the set of roles in which this HandlerChain is to act 103 * for the SOAP message processing at this SOAP node. These roles 104 * assumed by a HandlerChain must be invariant during the 105 * processing of an individual SOAP message through the HandlerChain. 106 * <p> 107 * A <code>HandlerChain</code> always acts in the role of the 108 * special SOAP actor <code>next</code>. Refer to the SOAP 109 * specification for the URI name for this special SOAP actor. 110 * There is no need to set this special role using this method. 111 * 112 * @param soapActorNames URIs for SOAP actor name 113 */ 114 public void setRoles(String[] soapActorNames); 115 116 /** 117 * Gets SOAP actor roles registered for this HandlerChain at 118 * this SOAP node. The returned array includes the special 119 * SOAP actor <code>next</code>. 120 * @return String[] SOAP Actor roles as URIs 121 */ 122 public java.lang.String[] getRoles(); 123 } 124