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

📄 addressserializer.java

📁 JavaWeb服务应用开发详解的配套源码,欢迎下载
💻 JAVA
字号:
   package samples.addressbook;
   
   import java.io.*;
   import org.w3c.dom.*;
   import org.apache.soap.*;
   import org.apache.soap.encoding.soapenc.*;
   import org.apache.soap.rpc.*;
   import org.apache.soap.util.*;
   import org.apache.soap.util.xml.*;
   
   public class AddressSerializer 
   			implements Serializer, Deserializer
   {
     public void marshall(
     		String inScopeEncStyle, Class javaType,
     		Object src, Object context, Writer sink,
     		NSStack nsStack, XMLJavaMappingRegistry xjmr,
     		SOAPContext ctx)
     throws IllegalArgumentException, IOException
     {
       nsStack.pushScope();
   
       SoapEncUtils.generateStructureHeader(
       	inScopeEncStyle, javaType, context, sink, nsStack, xjmr);
   
       sink.write(StringUtils.lineSeparator);
   
       samples.addressbook.Address src2 = (samples.addressbook.Address)src;
       Parameter param;
   
       param = new Parameter("streetNum", int.class, new Integer
         (src2.getStreetNum()), null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
   
       param = new Parameter("streetName", java.lang.String.class,
         src2.getStreetName(), null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
   
       param = new Parameter("city", java.lang.String.class, src2.getCity(),
         null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
       
       param = new Parameter("state", java.lang.String.class, src2.getState(),
         null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
       
   	  param = new Parameter("zip", int.class, new Integer
         (src2.getZip()), null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
     
     
     param = new Parameter("phoneNumber", PhoneNumber.class,
     					 src2.getPhoneNumber(), null);
       xjmr.marshall(inScopeEncStyle, Parameter.class, param, null,
       sink, nsStack, ctx);
       sink.write(StringUtils.lineSeparator);
       
   
       sink.write("</" + context + '>');
   
       nsStack.popScope();
     }
   
     public Bean unmarshall(String inScopeEncStyle, QName elementType,
     Node src, XMLJavaMappingRegistry xjmr, SOAPContext ctx)
     throws IllegalArgumentException
     {
       Element root = (Element)src;
       Element tempEl = DOMUtils.getFirstChildElement(root);
       samples.addressbook.Address target;
   
       try
       {
 		target = (samples.addressbook.Address)
          		 samples.addressbook.Address.class.newInstance();
       }
       catch (Exception e)
       {
         throw new IllegalArgumentException("Problem instantiating bean: "
           + e.getMessage());
       }
   
       while (tempEl != null)
       {
         Bean paramBean = xjmr.unmarshall(inScopeEncStyle,
         RPCConstants.Q_ELEM_PARAMETER,
         tempEl, ctx);
         Parameter param = (Parameter)paramBean.value;
         String tagName = tempEl.getTagName();
   
   
         if (tagName.equals("streetNum"))
         {
           target.setStreetNum( ((Integer)param.getValue()).intValue());
         }
   
         if (tagName.equals("streetName"))
         {
           target.setStreetName((java.lang.String)param.getValue());
         }
   
         if (tagName.equals("city"))
         {
           target.setCity( (java.lang.String)param.getValue());
         }
   
         if (tagName.equals("state"))
         {
           target.setState( (java.lang.String)param.getValue());
         }
   
         if (tagName.equals("zip"))
         {
           target.setZip( ((Integer)param.getValue()).intValue());
         }
   
         if (tagName.equals("phoneNumber"))
         {
           target.setPhoneNumber( (PhoneNumber)param.getValue());
         }
   
         tempEl = DOMUtils.getNextSiblingElement(tempEl);
       }
   
       return new Bean(samples.addressbook.Address.class, target);
     }
   }

⌨️ 快捷键说明

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