home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPHtmlDoc.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-26  |  2.2 KB  |  115 lines

  1. import java.util.Vector;
  2.  
  3. public class JDPHtmlDoc {
  4.    static JDPHtmlTag HEADtag = JDPHtmlTag.lookup("head");
  5.    protected String htmlSource;
  6.    protected byte[] text;
  7.    protected Vector tags;
  8.    protected String title;
  9.    protected boolean inPREelement;
  10.  
  11.    public byte[] getText() {
  12.       return this.text;
  13.    }
  14.  
  15.    public void setText(byte[] var1) {
  16.       this.text = var1;
  17.    }
  18.  
  19.    public void setText(String var1) {
  20.       this.text = new byte[var1.length()];
  21.  
  22.       for(int var2 = 0; var2 < this.text.length; ++var2) {
  23.          this.text[var2] = (byte)var1.charAt(var2);
  24.       }
  25.  
  26.    }
  27.  
  28.    public void reset() {
  29.       this.text = null;
  30.       this.title = null;
  31.       if (this.tags == null) {
  32.          this.tags = new Vector();
  33.       } else {
  34.          this.tags.setSize(0);
  35.       }
  36.    }
  37.  
  38.    public JDPHtmlTagRef startTag(JDPHtmlTag var1, int var2) {
  39.       return this.addTagRef(new JDPHtmlTagRef(var1, var2, false), var2);
  40.    }
  41.  
  42.    protected final JDPHtmlTagRef addTagRef(JDPHtmlTagRef var1, int var2) {
  43.       if (var1 != null) {
  44.          JDPHtmlTag var3 = var1.tag;
  45.          short var4 = var3.id;
  46.          if (this.inPREelement) {
  47.             if (var4 == 33 && var1.isEnd) {
  48.                this.inPREelement = false;
  49.             } else if (var3.breaks && var4 != 6 && var4 != 22) {
  50.                System.out.println("Warning: Ignoring: " + var3 + " inside <pre> section");
  51.                return null;
  52.             }
  53.          } else if (var4 == 33) {
  54.             this.inPREelement = true;
  55.          }
  56.  
  57.          var1.pos = var2;
  58.          this.tags.addElement(var1);
  59.       }
  60.  
  61.       return var1;
  62.    }
  63.  
  64.    public JDPHtmlTagRef endTag(JDPHtmlTag var1, int var2) {
  65.       return this.addTagRef(new JDPHtmlTagRef(var1, var2, true), var2);
  66.    }
  67.  
  68.    public String getTitle() {
  69.       if (this.title != null) {
  70.          return this.title;
  71.       } else if (this.tags == null) {
  72.          return "";
  73.       } else {
  74.          JDPHtmlTag var1 = JDPHtmlTag.lookup("title");
  75.          int var2 = this.tags.size();
  76.          int var3 = 0;
  77.          int var4 = -1;
  78.          this.title = "";
  79.  
  80.          while(true) {
  81.             --var2;
  82.             if (var2 < 0) {
  83.                break;
  84.             }
  85.  
  86.             JDPHtmlTagRef var5 = (JDPHtmlTagRef)this.tags.elementAt(var3++);
  87.             if (var5.tag == var1) {
  88.                if (var5.isEnd) {
  89.                   if (var4 != -1) {
  90.                      this.title = new String(this.text, 0, var4, var5.pos - var4);
  91.                   }
  92.                   break;
  93.                }
  94.  
  95.                var4 = var5.pos;
  96.             }
  97.          }
  98.  
  99.          return this.title;
  100.       }
  101.    }
  102.  
  103.    public JDPHtmlDoc() {
  104.       this.reset();
  105.    }
  106.  
  107.    public Vector getTags() {
  108.       return this.tags;
  109.    }
  110.  
  111.    public final void setSource(String var1) {
  112.       this.htmlSource = var1;
  113.    }
  114. }
  115.