FileDocCategorySizeDatePackage
WSDDJAXRPCHandlerInfo.javaAPI DocApache Axis 1.44919Sat Apr 22 18:57:28 BST 2006org.apache.axis.deployment.wsdd

WSDDJAXRPCHandlerInfo

public class WSDDJAXRPCHandlerInfo extends WSDDElement

Fields Summary
private String
_classname
private Map
_map
private QName[]
_headers
Constructors Summary
public WSDDJAXRPCHandlerInfo()
Default constructor

    
public WSDDJAXRPCHandlerInfo(Element e)

param
e (Element) XXX
throws
WSDDException XXX

        super(e);
        
        String classnameStr = e.getAttribute(ATTR_CLASSNAME);
        if (classnameStr != null && !classnameStr.equals("")) {
            _classname = classnameStr;
        }
        else 
            throw new WSDDException(Messages.getMessage("noClassNameAttr00"));
        
        Element[] elements = getChildElements(e, ELEM_WSDD_PARAM);

        // instanciate an empty Map
        _map = new HashMap();
        if (elements.length != 0) {
            // Load up the map
            for (int i = 0; i < elements.length; i++) {
                Element param = elements[i];
                String pname = param.getAttribute(ATTR_NAME);
                String value = param.getAttribute(ATTR_VALUE);
                _map.put(pname, value);
            }           
        }
        
        elements = getChildElements(e, ELEM_WSDD_JAXRPC_HEADER);
        if (elements.length != 0) {
            java.util.ArrayList headerList = new java.util.ArrayList();
            for (int i = 0; i < elements.length; i++) {
                Element qElem = elements[i];
                String headerStr = qElem.getAttribute(ATTR_QNAME);
                if (headerStr == null ||  headerStr.equals("")) 
                    throw new WSDDException(Messages.getMessage("noValidHeader"));     

                QName headerQName = XMLUtils.getQNameFromString(headerStr, qElem);
                if (headerQName != null) 
                    headerList.add(headerQName); 
            }
            QName[] headers = new QName[headerList.size()];
            _headers = (QName[]) headerList.toArray(headers);
        }       
    
Methods Summary
protected javax.xml.namespace.QNamegetElementName()

        return QNAME_JAXRPC_HANDLERINFO;
    
public java.lang.StringgetHandlerClassName()

        return _classname;
    
public java.util.MapgetHandlerMap()

        return _map;
    
public javax.xml.namespace.QName[]getHeaders()

        return _headers;
    
public voidsetHandlerClassName(java.lang.String classname)

        _classname = classname;
    
public voidsetHandlerMap(java.util.Map map)

        _map = map;
    
public voidsetHeaders(javax.xml.namespace.QName[] headers)

        _headers = headers;
    
public voidwriteToContext(org.apache.axis.encoding.SerializationContext context)

    AttributesImpl attrs = new AttributesImpl();
    attrs.addAttribute("", ATTR_CLASSNAME, ATTR_CLASSNAME,
                   "CDATA", _classname);
    context.startElement(WSDDConstants.QNAME_JAXRPC_HANDLERINFO, attrs);

    Map ht =  _map;
    if (ht != null) {
        Set keys= ht.keySet();
        Iterator iter = keys.iterator();
        while (iter.hasNext()) {
            String name = (String) iter.next();
            String value = (String) ht.get(name);
            attrs = new AttributesImpl();
            attrs.addAttribute("",ATTR_NAME, ATTR_NAME, "CDATA", name);
            attrs.addAttribute("",ATTR_VALUE, ATTR_VALUE, "CDATA", value);
            context.startElement(WSDDConstants.QNAME_PARAM,attrs);
            context.endElement();
        }
    }

    if (_headers != null) {
        for (int i=0 ; i < _headers.length ; i++) {
        QName qname = _headers[i];
        attrs = new AttributesImpl();
        attrs.addAttribute("",ATTR_QNAME,ATTR_QNAME,"CDATA",context.qName2String(qname));
        context.startElement(WSDDConstants.QNAME_JAXRPC_HEADER,attrs);
        context.endElement();
        }
    }

    context.endElement();