⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simplelistdeserializerfactory.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/* * Copyright 2001,2004 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.encoding.ser;import org.apache.axis.utils.JavaUtils;import javax.xml.namespace.QName;import javax.xml.rpc.JAXRPCException;import java.io.ObjectStreamException;import java.lang.reflect.Constructor;/** * DeserializerFactory for  * <xsd:simpleType ...> *   <xsd:list itemType="..."> * </xsd:simpleType> * based on SimpleDeserializerFactory * * @author Ias (iasandcb@tmax.co.kr) */public class SimpleListDeserializerFactory extends BaseDeserializerFactory {    private static final Class[] STRING_CLASS =         new Class [] {String.class};    private final Class clazzType;    private transient Constructor constructor = null;    /**     * Note that the factory is constructed with the QName and xmlType.  This is important     * to allow distinction between primitive values and java.lang wrappers.     **/    public SimpleListDeserializerFactory(Class javaType, QName xmlType) {        super(SimpleListDeserializer.class, xmlType, javaType.getComponentType());        clazzType = javaType;        Class componentType = javaType.getComponentType();        try {            if (!componentType.isPrimitive()) {                constructor =                 componentType.getDeclaredConstructor(STRING_CLASS);            }            else {                Class wrapper = JavaUtils.getWrapperClass(componentType);                if (wrapper != null)                    constructor =                         wrapper.getDeclaredConstructor(STRING_CLASS);            }        } catch (java.lang.NoSuchMethodException e) {            throw new IllegalArgumentException(e.toString());        }     }        /**     * Get the Deserializer and the set the Constructor so the     * deserializer does not have to do introspection.     */    public javax.xml.rpc.encoding.Deserializer getDeserializerAs(String mechanismType)        throws JAXRPCException {        if (javaType == java.lang.Object.class) {            return null;        }        SimpleListDeserializer deser = (SimpleListDeserializer) super.getDeserializerAs(mechanismType);        if (deser != null)            deser.setConstructor(constructor);        return deser;    }        private Object readResolve() throws ObjectStreamException {        return new SimpleListDeserializerFactory(clazzType, xmlType);    }}

⌨️ 快捷键说明

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