xmldataobject.java

来自「短信系统SMS:支持普通短信、长短信和wap push短信的发送。」· Java 代码 · 共 239 行

JAVA
239
字号
package com.ekun.common.util;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author ekun
 * @version 1.0
 */
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;
import java.util.Vector;

public class XMLDataObject
{
  private String objectIdentity = "";
  private Hashtable container = new Hashtable();
  private Vector names = new Vector();

  public XMLDataObject(String objectIdentity){
      this.objectIdentity = objectIdentity;
  }

  /**
   *   set objectIdentity
   */

  public void setObjectIdentity(String objectIdentity){
      this.objectIdentity = objectIdentity;
  }

  /**
   *   get objectIdentity
   */

  public String getObjectIdentity(){
      return objectIdentity;
  }

  /**
   * get bytes value by name
   * @param name
   * @return bytes
   */
  public byte[] getByteValue(String name){
      if(container.containsKey(name)){
          return Base64.decode((String)container.get(name));
      }
      return null;
  }

  public String getValue(String name){
      if(container.containsKey(name)){
          return(String)container.get(name);
      }
      return null;
  }

  public String getStringValue(String name){
      if(container.containsKey(name)){
          return XMLStringFilter.restitute((String)container.get(name));
      }
      return null;
  }

  public int getIntValue(String name){
      if(container.containsKey(name)){
          return Integer.parseInt((container.get(name)).toString().trim());
      }
      return -1;
  }

  public long getLongValue(String name){
      if(container.containsKey(name)){
          return Long.parseLong((container.get(name)).toString().trim());
      }
      return -1;
  }

  public float getFloatValue(String name){
      if(container.containsKey(name)){
          return Float.parseFloat((container.get(name)).toString().trim());
      }
      return -1;
  }

  public double getDoubleValue(String name){
      if(container.containsKey(name)){
          return Double.parseDouble((container.get(name)).toString().trim());
      }
      return -1;
  }

  public Date getDateValue(String name) throws ParseException{
      if(container.containsKey(name)){
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
          java.util.Date result = sdf.parse(((String)container.get(name)).
                                            trim());
          return result;
      }
      return null;
  }

  public Date getDateTimeValue(String name) throws ParseException{
      if(container.containsKey(name)){
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd mm:hh:ss");
          java.util.Date result = sdf.parse(((String)container.get(name)).
                                            trim());
          return result;
      }
      return null;
  }

  public Object getObjectValue(String name){
      if(container.containsKey(name)){
          return container.get(name);
      }
      return null;
  }

  public void addObjectValue(String name,Object value){
      if(container.containsKey(name)){
          container.remove(name);
          names.remove(name);
      }
      names.add(name);
      container.put(name,value);
  }

  /**
   * add bytes value
   * @param name
   * @param value
   */
  public void addByteValue(String name,byte[] value){
      String temp = null;
      if(value == null){
          temp = "";
      } else{
          temp = Base64.encode(value);
      }
      addObjectValue(name,temp);
  }

  public void addStringValue(String name,String value){
      if(value == null){
          value = "";
      } else{
          value = XMLStringFilter.replace(value);
      }
      addObjectValue(name,value);
  }

  public void addIntValue(String name,int value){
      addObjectValue(name,new Integer(value));
  }

  public void addLongValue(String name,long value){
      addObjectValue(name,new Long(value));
  }

  public void addFloatValue(String name,float value){
      addObjectValue(name,new Float(value));
  }

  public void addDoubleValue(String name,double value){
      addObjectValue(name,new Double(value));
  }

  public void addDateValue(String name,Date value){
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      if(value == null){
          return;
      }
      String temp = sdf.format(value);
      addObjectValue(name,temp);
  }

  public void addDateTimeValue(String name,Date value){
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd mm:hh:ss");
      if(value == null){
          return;
      }
      String temp = sdf.format(value);
      addObjectValue(name,temp);
  }

  public String getNameByIndex(int index){
      String name = (String)names.elementAt(index);
      if(container.containsKey(name)){
          return name;
      }
      return null;
  }

  public Object getValueByIndex(int index){
      String name = (String)names.elementAt(index);
      if(container.containsKey(name)){
          return container.get(name);
      }
      return null;

  }

  /**
   *   get the value length
   */

  public int length(){
      return names.size();
  }

  /**
   *   for debug only
   */

  public static void main(String[] args){
      try{
          XMLDataObject xmlObject = new XMLDataObject("");
          xmlObject.addObjectValue("key", new Integer(10));
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
          Date date = sdf.parse("2003-05-13");
          System.out.println(date);
          xmlObject.getObjectValue("key");
      } catch(Exception e)
      {
          e.printStackTrace();
      }
  }

}

⌨️ 快捷键说明

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