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

📄 namespacemapping.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/* * Copyright 2002,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.tools.ant.wsdl;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.Project;import org.apache.tools.ant.ProjectComponent;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.Enumeration;import java.util.HashMap;import java.util.Properties;/** * Used for nested package definitions. * The file format used for storing mappings is a list of package=namespace */public class NamespaceMapping implements Mapper {    private String namespace = null;    private String packageName = null;    private File mappingFile;    /**     * pass in the namespace to map to     */    public NamespaceMapping() {    }    /**     * the namespace in the WSDL. Required.     * @param value new uri of the mapping     */    public void setNamespace(String value) {        namespace = value;    }    /**     * the Java package to bind to. Required.     * @param value java package name     */    public void setPackage(String value) {        packageName = value;    }    /**     * name of a property file that contains mappings in     * package=namespace format     * @param file file to load     */    public void setFile(File file) {        mappingFile = file;    }    /**     * map a namespace to a package     * @param owner owning project component (For logging)     * @param map map to assign to     * @param packName package name     * @param nspace namespace     * @param packageIsKey if the package is to be the key for the map     */    protected void map(ProjectComponent owner,                       HashMap map,                       String packName,                       String nspace,                       boolean packageIsKey) {        owner.log("mapping "+nspace+" to "+packName, Project.MSG_VERBOSE);        if(packageIsKey) {            map.put(packName,nspace);        } else {            map.put(nspace, packName);        }    }    /**     * validate the option set     */    private void validate() {        if (mappingFile != null) {            if (namespace != null || packageName != null) {                throw new BuildException(                        "Namespace or Package cannot be used with a File attribute");            }        } else {            if (namespace == null) {                throw new BuildException("namespace must be defined");            }            if (packageName == null) {                throw new BuildException("package must be defined");            }        }    }    /**     * Load a mapping file and save it to the map     * @param owner owner component     * @param map target map file     * @param packageIsKey if the package is to be the key for the map     * @throws BuildException if an IOException needed swallowing     */    protected void mapFile(ProjectComponent owner, HashMap map, boolean packageIsKey) throws BuildException {        Properties props = loadMappingPropertiesFile();        Enumeration keys = props.keys();        while (keys.hasMoreElements()) {            String packageName = (String) keys.nextElement();            String namespace = props.getProperty(packageName);            map(owner, map, packageName, namespace, packageIsKey);        }    }    /**     * load a file containing properties     * @return a properties file with zero or more mappings     * @throws BuildException if the load failed     */    private Properties loadMappingPropertiesFile() throws BuildException {        Properties props = new Properties();        FileInputStream instr = null;        try {            instr = new FileInputStream(mappingFile);            props.load(new BufferedInputStream(instr));        } catch (IOException e) {            throw new BuildException("Failed to load " + mappingFile, e);        } finally {            if (instr != null) {                try {                    instr.close();                } catch (IOException e) {                }            }        }        return props;    }    /**     * execute the mapping     * @param owner owner object     * @param map map to map to     * @param packageIsKey if the package is to be the key for the map     * @throws BuildException in case of emergency     */    public void execute(ProjectComponent owner, HashMap map, boolean packageIsKey) throws BuildException {        validate();        if (mappingFile != null) {            mapFile(owner, map,packageIsKey);        } else {            map(owner, map, packageName, namespace, packageIsKey);        }    }}

⌨️ 快捷键说明

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