| HandlerInfo.java |
/*
* JBoss, the OpenSource EJB server
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package javax.xml.rpc.handler;
import java.io.Serializable;
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.xml.namespace.QName;
/** This represents information about a handler in the HandlerChain. A
* HandlerInfo instance is passed in the Handler.init method to initialize a
* Handler instance.
*
* @author Scott.Stark@jboss.org
* @version $Revision: 1.6 $
*/
public class HandlerInfo
implements Serializable
{
private static final long serialVersionUID = -6735139577513563610L;
private Class handlerClass;
private Map configMap = new HashMap();
private QName[] headers;
/** Default constructor */
public HandlerInfo()
{
}
/** Constructor for HandlerInfo
*
* @param handlerClass Java Class for the Handler
* @param config Handler Configuration as a java.util.Map
* @param headers QNames for the header blocks processed by this Handler.
* QName is the qualified name of the outermost element of a header block
*/
public HandlerInfo(Class handlerClass, Map config, QName[] headers)
{
this.handlerClass = handlerClass;
this.configMap = config;
this.headers = headers;
}
/** Gets the Handler class
*
* @return Returns null if no Handler class has been set; otherwise the set handler class
*/
public Class getHandlerClass()
{
return handlerClass;
}
/** Sets the Handler class
*
* @param handlerClass Class for the Handler
*/
public void setHandlerClass(Class handlerClass)
{
this.handlerClass = handlerClass;
}
/** Gets the Handler configuration
*
* @return Returns empty Map if no configuration map has been set; otherwise returns the set configuration map
*/
public Map getHandlerConfig()
{
return new HashMap(configMap);
}
/** Sets the Handler configuration as java.util.Map
*
* @param config Configuration map
*/
public void setHandlerConfig(Map config)
{
configMap.clear();
configMap.putAll(config);
}
/** Gets the header blocks processed by this Handler.
*
* @return Array of QNames for the header blocks. Returns null if no header blocks have been set using the setHeaders method.
*/
public QName[] getHeaders()
{
return headers;
}
/** Sets the header blocks processed by this Handler.
*
* @param qnames QNames of the header blocks. QName is the qualified name of the outermost element of the SOAP header block
*/
public void setHeaders(QName[] qnames)
{
headers = qnames;
}
/** Returns a string representation of the object.
*/
public String toString()
{
List hlist = (headers != null ? Arrays.asList(headers) : null);
return "[class=" + handlerClass.getName() + ",headers=" + hlist + ",config=" + configMap + "]";
}
}
| HandlerInfo.java |