home *** CD-ROM | disk | FTP | other *** search
- import java.util.Vector;
-
- public class JDPHtmlDoc {
- static JDPHtmlTag HEADtag = JDPHtmlTag.lookup("head");
- protected String htmlSource;
- protected byte[] text;
- protected Vector tags;
- protected String title;
- protected boolean inPREelement;
-
- public byte[] getText() {
- return this.text;
- }
-
- public void setText(byte[] var1) {
- this.text = var1;
- }
-
- public void setText(String var1) {
- this.text = new byte[var1.length()];
-
- for(int var2 = 0; var2 < this.text.length; ++var2) {
- this.text[var2] = (byte)var1.charAt(var2);
- }
-
- }
-
- public void reset() {
- this.text = null;
- this.title = null;
- if (this.tags == null) {
- this.tags = new Vector();
- } else {
- this.tags.setSize(0);
- }
- }
-
- public JDPHtmlTagRef startTag(JDPHtmlTag var1, int var2) {
- return this.addTagRef(new JDPHtmlTagRef(var1, var2, false), var2);
- }
-
- protected final JDPHtmlTagRef addTagRef(JDPHtmlTagRef var1, int var2) {
- if (var1 != null) {
- JDPHtmlTag var3 = var1.tag;
- short var4 = var3.id;
- if (this.inPREelement) {
- if (var4 == 33 && var1.isEnd) {
- this.inPREelement = false;
- } else if (var3.breaks && var4 != 6 && var4 != 22) {
- System.out.println("Warning: Ignoring: " + var3 + " inside <pre> section");
- return null;
- }
- } else if (var4 == 33) {
- this.inPREelement = true;
- }
-
- var1.pos = var2;
- this.tags.addElement(var1);
- }
-
- return var1;
- }
-
- public JDPHtmlTagRef endTag(JDPHtmlTag var1, int var2) {
- return this.addTagRef(new JDPHtmlTagRef(var1, var2, true), var2);
- }
-
- public String getTitle() {
- if (this.title != null) {
- return this.title;
- } else if (this.tags == null) {
- return "";
- } else {
- JDPHtmlTag var1 = JDPHtmlTag.lookup("title");
- int var2 = this.tags.size();
- int var3 = 0;
- int var4 = -1;
- this.title = "";
-
- while(true) {
- --var2;
- if (var2 < 0) {
- break;
- }
-
- JDPHtmlTagRef var5 = (JDPHtmlTagRef)this.tags.elementAt(var3++);
- if (var5.tag == var1) {
- if (var5.isEnd) {
- if (var4 != -1) {
- this.title = new String(this.text, 0, var4, var5.pos - var4);
- }
- break;
- }
-
- var4 = var5.pos;
- }
- }
-
- return this.title;
- }
- }
-
- public JDPHtmlDoc() {
- this.reset();
- }
-
- public Vector getTags() {
- return this.tags;
- }
-
- public final void setSource(String var1) {
- this.htmlSource = var1;
- }
- }
-