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

📄 simpleprovider.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.configuration;import org.apache.axis.AxisEngine;import org.apache.axis.ConfigurationException;import org.apache.axis.EngineConfiguration;import org.apache.axis.Handler;import org.apache.axis.encoding.TypeMapping;import org.apache.axis.encoding.TypeMappingRegistry;import org.apache.axis.encoding.TypeMappingRegistryImpl;import org.apache.axis.handlers.soap.SOAPService;import javax.xml.namespace.QName;import java.util.ArrayList;import java.util.HashMap;import java.util.Hashtable;import java.util.Iterator;import java.util.List;/** * A SimpleProvider is an EngineConfiguration which contains a simple * HashMap-based registry of Handlers, Transports, and Services.  This is * for when you want to programatically deploy components which you create. * * SimpleProvider may also optionally contain a reference to a "default" * EngineConfiguration, which will be scanned for components not found in * the internal registry.  This is handy when you want to start with a base * configuration (like the default WSDD) and then quickly add stuff without * changing the WSDD document. * * @author Glen Daniels (gdaniels@apache.org) */public class SimpleProvider implements EngineConfiguration{    /** Handler registry */    HashMap handlers = new HashMap();    /** Transport registry */    HashMap transports = new HashMap();    /** Service registry */    HashMap services = new HashMap();    /** Global configuration stuff */    Hashtable globalOptions = null;    Handler globalRequest = null;    Handler globalResponse = null;    List roles = new ArrayList();    /** Our TypeMappingRegistry */    TypeMappingRegistry tmr = null;    /** An optional "default" EngineConfiguration */    EngineConfiguration defaultConfiguration = null;    private AxisEngine engine;    /**     * Default constructor.     */    public SimpleProvider() {    }    /**     * Constructor which takes an EngineConfiguration which will be used     * as the default.     */    public SimpleProvider(EngineConfiguration defaultConfiguration) {        this.defaultConfiguration = defaultConfiguration;    }    /**     * Construct a SimpleProvider using the supplied TypeMappingRegistry.     *     * @param typeMappingRegistry     */    public SimpleProvider(TypeMappingRegistry typeMappingRegistry) {        this.tmr = typeMappingRegistry;    }    /**     * Configure an AxisEngine.  Right now just calls the default     * configuration if there is one, since we don't do anything special.     */    public void configureEngine(AxisEngine engine) throws ConfigurationException    {        this.engine = engine;        if (defaultConfiguration != null)            defaultConfiguration.configureEngine(engine);        for (Iterator i = services.values().iterator(); i.hasNext(); ) {            ((SOAPService)i.next()).setEngine(engine);        }    }    /**     * We don't write ourselves out, so this is a noop.     */    public void writeEngineConfig(AxisEngine engine) throws ConfigurationException    {    }    /**     * Returns the global configuration options.     */    public Hashtable getGlobalOptions() throws ConfigurationException {        if (globalOptions != null)            return globalOptions;        if (defaultConfiguration != null)            return defaultConfiguration.getGlobalOptions();        return null;    }    /**     * Set the global options Hashtable     *     * @param options     */    public void setGlobalOptions(Hashtable options) {        globalOptions = options;    }    /**     * Returns a global request handler.     */    public Handler getGlobalRequest() throws ConfigurationException {        if (globalRequest != null)            return globalRequest;        if (defaultConfiguration != null)            return defaultConfiguration.getGlobalRequest();        return null;    }    /**     * Set the global request Handler     *     * @param globalRequest     */    public void setGlobalRequest(Handler globalRequest) {        this.globalRequest = globalRequest;    }    /**     * Returns a global response handler.     */    public Handler getGlobalResponse() throws ConfigurationException {        if (globalResponse != null)            return globalResponse;        if (defaultConfiguration != null)            return defaultConfiguration.getGlobalResponse();        return null;    }    /**     * Set the global response Handler     *     * @param globalResponse     */    public void setGlobalResponse(Handler globalResponse) {        this.globalResponse = globalResponse;    }    /**     * Get our TypeMappingRegistry.  Returns our specific one if we have     * one, otherwise the one from our defaultConfiguration.  If we don't     * have one and also don't have a defaultConfiguration, we create one.     *     */    public TypeMappingRegistry getTypeMappingRegistry() throws ConfigurationException {        if (tmr != null)            return tmr;        if (defaultConfiguration != null)            return defaultConfiguration.getTypeMappingRegistry();        // No default config, but we need a TypeMappingRegistry...        // (perhaps the TMRs could just be chained?)        tmr = new TypeMappingRegistryImpl();        return tmr;    }    public TypeMapping getTypeMapping(String encodingStyle) throws ConfigurationException {        return (TypeMapping)getTypeMappingRegistry().getTypeMapping(encodingStyle);    }    public Handler getTransport(QName qname) throws ConfigurationException {        Handler transport = (Handler)transports.get(qname);        if ((defaultConfiguration != null) && (transport == null))            transport = defaultConfiguration.getTransport(qname);        return transport;    }    public SOAPService getService(QName qname) throws ConfigurationException {        SOAPService service = (SOAPService)services.get(qname);        if ((defaultConfiguration != null) && (service == null))            service = defaultConfiguration.getService(qname);        return service;    }    /**     * Get a service which has been mapped to a particular namespace     *      * @param namespace a namespace URI     * @return an instance of the appropriate Service, or null     */    public SOAPService getServiceByNamespaceURI(String namespace)            throws ConfigurationException {        SOAPService service = (SOAPService)services.get(new QName("",namespace));        if ((service == null) && (defaultConfiguration != null))            service = defaultConfiguration.getServiceByNamespaceURI(namespace);        return service;    }    public Handler getHandler(QName qname) throws ConfigurationException {        Handler handler = (Handler)handlers.get(qname);        if ((defaultConfiguration != null) && (handler == null))            handler = defaultConfiguration.getHandler(qname);        return handler;    }    public void deployService(QName qname, SOAPService service)    {        services.put(qname, service);        if (engine != null)            service.setEngine(engine);    }    public void deployService(String name, SOAPService service)    {        deployService(new QName(null, name), service);    }    public void deployTransport(QName qname, Handler transport)    {        transports.put(qname, transport);    }    public void deployTransport(String name, Handler transport)    {        deployTransport(new QName(null, name), transport);    }    /**     * Get an enumeration of the services deployed to this engine     */    public Iterator getDeployedServices() throws ConfigurationException {        ArrayList serviceDescs = new ArrayList();        Iterator i = services.values().iterator();        while (i.hasNext()) {            SOAPService service = (SOAPService)i.next();            serviceDescs.add(service.getServiceDescription());        }        return serviceDescs.iterator();    }    /**     * Set the global role list for this configuration.  Note that we use     * the actual passed value, so if anyone else changes that collection,     * our role list will change.  Be careful to pass this a cloned list if     * you want to change the list later without affecting the config.     *     * @param roles     */    public void setRoles(List roles) {        this.roles = roles;    }    /**     * Add a role to the configuration's global list     *     * @param role     */    public void addRole(String role) {        roles.add(role);    }    /**     * Remove a role from the configuration's global list     *      * @param role     */    public void removeRole(String role) {        roles.remove(role);    }    /**     * Get a list of roles that this engine plays globally.  Services     * within the engine configuration may also add additional roles.     *     * @return a <code>List</code> of the roles for this engine     */    public List getRoles() {        return roles;    }}

⌨️ 快捷键说明

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