HTMLDocument.java
上传用户:huihesys
上传日期:2007-01-04
资源大小:3877k
文件大小:3k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. /* $Id: HTMLDocument.java,v 1.3 2000/04/06 08:02:02 wastl Exp $ */
  2. package net.wastl.webmail.ui.html;
  3. import net.wastl.webmail.server.Storage;
  4. import java.util.*;
  5. import gnu.regexp.*;
  6. /*
  7.  * HTMLDocument.java
  8.  *
  9.  * Created: Wed Feb  3 16:13:20 1999
  10.  *
  11.  * Copyright (C) 1999-2000 Sebastian Schaffert
  12.  * 
  13.  * This program is free software; you can redistribute it and/or
  14.  * modify it under the terms of the GNU General Public License
  15.  * as published by the Free Software Foundation; either version 2
  16.  * of the License, or (at your option) any later version.
  17.  * 
  18.  * This program is distributed in the hope that it will be useful,
  19.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21.  * GNU General Public License for more details.
  22.  * 
  23.  * You should have received a copy of the GNU General Public License
  24.  * along with this program; if not, write to the Free Software
  25.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  26.  */
  27. /**
  28.  * WebMail's class for representing HTML Documents.
  29.  *
  30.  * @author Sebastian Schaffert
  31.  * @version $Revision: 1.3 $
  32.  */
  33. public class HTMLDocument {
  34.     protected String content;
  35.     protected HTMLHeader header;
  36.     protected Hashtable httpheaders;
  37.     protected int returncode=200;
  38.     protected String returnstatus="OK";
  39.     public HTMLDocument() {
  40.     }
  41.     public HTMLDocument(String title, String content) {
  42. header=new HTMLHeader(title);
  43. this.content=content;
  44.     }
  45.     public HTMLDocument(String title, String cont, String basepath) {
  46. this(title,cont);
  47. try {
  48. RE regexp2=new RE("<<BASE>>",RE.REG_ICASE & RE.REG_MULTILINE);
  49. content=regexp2.substituteAll(content,basepath);
  50. } catch(Exception e) {
  51. e.printStackTrace();
  52. }
  53.     }
  54.     
  55. //     public HTMLDocument(String title,Storage loader, String docname) {
  56. //  this(title,loader.getTextFile(loader.getStringResource(docname,Locale.getDefault()),Locale.getDefault()));
  57. //     }
  58. //     public HTMLDocument(String title,Storage loader, String docname, String basepath) {
  59. //  this(title,loader.getTextFile(loader.getStringResource(docname,Locale.getDefault()),Locale.getDefault()),basepath);
  60. //     }
  61.     public void addHTTPHeader(String key, String value) {
  62. if(httpheaders==null) {
  63. httpheaders=new Hashtable(5);
  64. }
  65. httpheaders.put(key,value);
  66.     }
  67.     public Enumeration getHTTPHeaderKeys() {
  68. return httpheaders.keys();
  69.     }
  70.     public String getHTTPHeader(String key) {
  71. return (String)httpheaders.get(key);
  72.     }
  73.     public boolean hasHTTPHeader() {
  74. return (httpheaders!=null) && !httpheaders.isEmpty();
  75.     }
  76.     public int getReturnCode() {
  77. return returncode;
  78.     }
  79.     public String getReturnStatus() {
  80. return returnstatus;
  81.     }
  82.     public void setStatus(int code, String status) {
  83. returncode=code;
  84. returnstatus=status;
  85.     }
  86.     public String toString() {
  87. return header.toString()+"rn"+content;
  88.     }
  89.     public int length() {
  90. return header.toString().length()+1+content.length();
  91.     }
  92. } // HTMLDocument