wsddarraymapping.java

来自「Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应」· Java 代码 · 共 89 行

JAVA
89
字号
/* * Copyright 2001-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.axis.deployment.wsdd;import java.io.IOException;import javax.xml.namespace.QName;import org.w3c.dom.Attr;import org.w3c.dom.Element;import org.xml.sax.helpers.AttributesImpl;import org.apache.axis.encoding.SerializationContext;import org.apache.axis.utils.XMLUtils;/** * A <code>WSDDArrayMapping</code> is simply a <code>WSDDTypeMapping</code> * which has preset values for the serializer and deserializer attributes. * * This enables the following slightly simplified syntax when expressing * an array mapping: * * &lt;arrayMapping qname="prefix:local" languageSpecificType="java:class" innerType="prefix:local"/&gt; * */public class WSDDArrayMapping extends WSDDTypeMapping {    /** array item type */    private QName innerType = null;    /**     * Default constructor     */    public WSDDArrayMapping() {    }    public WSDDArrayMapping(Element e) throws WSDDException {        super(e);        Attr innerTypeAttr = e.getAttributeNode(ATTR_INNER_TYPE);        if (innerTypeAttr != null) {            String qnameStr = innerTypeAttr.getValue();            innerType = XMLUtils.getQNameFromString(qnameStr, e);        }        serializer = ARRAY_SERIALIZER_FACTORY;        deserializer = ARRAY_DESERIALIZER_FACTORY;    }    protected QName getElementName() {        return QNAME_ARRAYMAPPING;    }    /**     * @return Returns the innerType.     */    public QName getInnerType() {        return innerType;    }    public void writeToContext(SerializationContext context) throws IOException {        AttributesImpl attrs = new AttributesImpl();        String typeStr = context.qName2String(typeQName);        attrs.addAttribute("", ATTR_LANG_SPEC_TYPE, ATTR_LANG_SPEC_TYPE, "CDATA", typeStr);        String qnameStr = context.qName2String(qname);        attrs.addAttribute("", ATTR_QNAME, ATTR_QNAME, "CDATA", qnameStr);        String innerTypeStr = context.qName2String(innerType);        attrs.addAttribute("", ATTR_INNER_TYPE, ATTR_INNER_TYPE, "CDATA", innerTypeStr);        context.startElement(QNAME_ARRAYMAPPING, attrs);        context.endElement();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?