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

📄 uncheckedparameterholder.java

📁 这是远程web服务调用的一个包,可以将JSP直接作为服务
💻 JAVA
字号:
package com.meterware.httpunit;/******************************************************************************************************************** * $Id: UncheckedParameterHolder.java,v 1.9 2003/08/20 12:06:15 russgold Exp $ * * Copyright (c) 2002, Russell Gold * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated * documentation files (the "Software"), to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and * to permit persons to whom the Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all copies or substantial portions * of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. * *******************************************************************************************************************/import java.io.IOException;import java.util.Hashtable;import java.util.Enumeration;/** * * @author <a href="mailto:russgold@httpunit.org">Russell Gold</a> **/final class UncheckedParameterHolder extends ParameterHolder implements ParameterProcessor {    private static final String[] NO_VALUES = new String[ 0 ];    private final String _characterSet;    private Hashtable _parameters = new Hashtable();    private boolean   _submitAsMime;    UncheckedParameterHolder() {        _characterSet = HttpUnitOptions.getDefaultCharacterSet();    }    UncheckedParameterHolder( WebRequestSource source ) {        _characterSet = source.getCharacterSet();        _submitAsMime = source.isSubmitAsMime();        try {            source.recordPredefinedParameters( this );            source.recordParameters( this );        } catch (IOException e) {            throw new RuntimeException( "This should never happen" );        }    }//----------------------------------- ParameterProcessor methods -------------------------------------------------------    public void addParameter( String name, String value, String characterSet ) throws IOException {        Object[] values = (Object[]) _parameters.get( name );        _parameters.put( name, HttpUnitUtils.withNewValue( values, value ) );    }    public void addFile( String parameterName, UploadFileSpec fileSpec ) throws IOException {        Object[] values = (Object[]) _parameters.get( parameterName );        _parameters.put( parameterName, HttpUnitUtils.withNewValue( values, fileSpec ) );    }//----------------------------------- ParameterHolder methods ----------------------------------------------------------    /**     * Specifies the position at which an image button (if any) was clicked.     **/    void selectImageButtonPosition( SubmitButton imageButton, int x, int y ) {        setParameter( imageButton.getName() + ".x", Integer.toString( x ) );        setParameter( imageButton.getName() + ".y", Integer.toString( y ) );    }    /**     * Does nothing, since unchecked requests treat all parameters the same.     **/    void recordPredefinedParameters( ParameterProcessor processor ) throws IOException {    }    /**     * Iterates through the parameters in this holder, recording them in the supplied parameter processor.     **/    void recordParameters( ParameterProcessor processor ) throws IOException {        Enumeration e = _parameters.keys();        while (e.hasMoreElements()) {            String name = (String) e.nextElement();            Object[] values = (Object[]) _parameters.get( name );            for (int i = 0; i < values.length; i++) {                if (values[i] instanceof String) {                    processor.addParameter( name, (String) values[i], _characterSet );                } else if (values[i] instanceof UploadFileSpec) {                    processor.addFile( name, (UploadFileSpec) values[i] );                }            }        }    }    String[] getParameterNames() {        return (String[]) _parameters.keySet().toArray( new String[ _parameters.size() ] );    }    String getParameterValue( String name ) {        String[] values = getParameterValues( name );        return values.length == 0 ? null : values[0];    }    String[] getParameterValues( String name ) {        Object[] values = (Object[]) _parameters.get( name );        if (values == null) return NO_VALUES;        String[] result = new String[ values.length ];        for (int i = 0; i < result.length; i++) {            result[i] = values[i] instanceof UploadFileSpec ? ((UploadFileSpec) values[i]).getFileName() : values[i].toString();        }        return result;    }    void removeParameter( String name ) {        _parameters.remove( name );    }    void setParameter( String name, String value ) {        _parameters.put( name, new Object[] { value } );    }    void setParameter( String name, String[] values ) {        _parameters.put( name, values );    }    void setParameter( String name, UploadFileSpec[] files ) {        _parameters.put( name, files );    }    boolean isFileParameter( String name ) {        return true;    }    String getCharacterSet() {        return _characterSet;    }    boolean isSubmitAsMime() {        return _submitAsMime;    }    void setSubmitAsMime( boolean mimeEncoded ) {        _submitAsMime = mimeEncoded;    }}

⌨️ 快捷键说明

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