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

📄 soapparameter.java

📁 openwave公司的用于彩信开发的MM7协议实现java原代码,决对超值.
💻 JAVA
字号:
package com.openwave.mms.mm7.soap;import java.util.Iterator;import java.util.HashMap;import java.util.Map;import java.util.Vector;public class SOAPParameter {    private SOAPQName qName;    private String value;    protected Vector parameters;    protected HashMap attributes;    private boolean leaf;    public SOAPParameter( String name ) throws SOAPException {        if( name == null || name.length() == 0 )            throw new SOAPException( "parameter-name-cannot-be-null" );        qName = new SOAPQName( name );        leaf = true;    }    public SOAPParameter( SOAPQName name ) throws SOAPException {        if( name == null )            throw new SOAPException( "parameter-name-cannot-be-null" );        qName = name;        leaf = true;    }    public SOAPParameter( SOAPQName name,                          HashMap attributes,                          String value ) throws SOAPException {        if( name == null )            throw new SOAPException( "parameter-name-cannot-be-null" );        qName = name;        this.value = value;        this.attributes = attributes;        leaf = true;    }    public SOAPParameter( SOAPQName name,                          HashMap attributes,                          Vector parameters ) throws SOAPException {        if( name == null )            throw new SOAPException( "parameter-name-cannot-be-null" );        qName = name;        this.attributes = attributes;        this.parameters = parameters;        leaf = false;    }    public String getName() {        return qName.getName();    }    public String getNamespace() {        return qName.getUri();    }    public String getNamespacePrefix() {        return qName.getPrefix();    }    public Vector getParameters( ) throws SOAPException {        if( !leaf ) return parameters;        else throw new SOAPException( "cannot-get-parameters-of-leaf-node" );    }    public String getValue() throws SOAPException {        if( leaf ) return value;        else throw new SOAPException( "cannot-get-value-of-inner-node" );    }    public String getValue( String paramName ) throws SOAPException {        if( parameters == null ) return null;        for( int i = 0; i < parameters.size(); i++ ) {            SOAPParameter param = (SOAPParameter) parameters.get( i );            if( param.qName.getName().equalsIgnoreCase( paramName ) ) {                if( param.leaf ) return param.value;                else throw new SOAPException( "cannot-get-value-of-inner-node" );            }        }        return null;    }    public SOAPParameter getParameter( String paramName ) throws SOAPException {        if( parameters == null ) return null;        for( int i = 0; i < parameters.size(); i++ ) {            SOAPParameter param = (SOAPParameter) parameters.get( i );            if( param.qName.getName().equalsIgnoreCase( paramName ) ) {                if( !param.leaf ) return param;                else throw new SOAPException( "cannot-get-parameters-of-leaf-node" );            }        }        return null;    }    public void setValue( String value ) throws SOAPException {        if( parameters == null ) {            this.value = value;            leaf = true;        } else throw new SOAPException( "cannot-set-value-to-inner-node" );    }    public void addParameter( SOAPParameter param ) throws SOAPException {        if( value != null )            throw new SOAPException( "cannot-add-parameter-to-leaf-node" );        if( parameters == null ) {            parameters = new Vector();        }        parameters.add( param );        leaf = false;    }    public void addParameter( String name,                              String value ) throws SOAPException {        SOAPParameter param = new SOAPParameter( name );        param.setValue( value );        addParameter( param );    }    public SOAPParameter addParameter( String name ) throws SOAPException {        SOAPParameter param = new SOAPParameter( name );        addParameter( param );        return param;    }    public void addAttribute( String name, String value ) {        if( attributes == null ) {            attributes = new HashMap();        }        attributes.put( new SOAPQName( name ), value );    }    public void serialize( StringBuffer buffer ) {        buffer.append( "<" );        String prefix = qName.getPrefix();        if( prefix != null && prefix.length() > 0 ) {            buffer.append( prefix );            buffer.append( ":" );        }        buffer.append( qName.getName() );        String uri = qName.getUri();        if( uri != null && uri.length() > 0 ) {            buffer.append( " xmlns" );            if( prefix != null && prefix.length() > 0 ) {                buffer.append( ":" );                buffer.append( prefix );            }            buffer.append( "=\"" );            buffer.append( uri );            buffer.append( "\"" );        }        if( attributes != null ) {            Iterator iter = attributes.entrySet().iterator();            while( iter.hasNext() ) {                Map.Entry entry = ( Map.Entry ) iter.next();                SOAPQName attrName = ( SOAPQName ) entry.getKey();                prefix = attrName.getPrefix();                buffer.append( " " );                if( prefix != null && prefix.length() > 0 ) {                    buffer.append( prefix );                    buffer.append( ":" );                }                buffer.append( attrName.getName() );                buffer.append( "=\"" );                buffer.append( ( String ) entry.getValue() );                buffer.append( "\"" );            }        }        if( leaf ) {            if( value != null && value.length() > 0 ) {                buffer.append( ">" );                buffer.append( value );                buffer.append( "</" );                prefix = qName.getPrefix();                if( prefix != null && prefix.length() > 0 ) {                    buffer.append( prefix );                    buffer.append( ":" );                }                buffer.append( qName.getName() );                buffer.append( ">" );            } else {                buffer.append( " />" );            }        } else {            buffer.append( ">" );            if( parameters != null ) {                for( int i = 0; i < parameters.size(); i++ ) {                    SOAPParameter param = ( SOAPParameter ) parameters.get( i );                    param.serialize( buffer );                }            }            buffer.append( "</" );            prefix = qName.getPrefix();            if( prefix != null && prefix.length() > 0 ) {                buffer.append( prefix );                buffer.append( ":" );            }            buffer.append( qName.getName() );            buffer.append( ">" );        }    }}

⌨️ 快捷键说明

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