001    package org.util.html.objects;
002    
003    
004    import java.util.*;
005    import java.io.*;
006    import java.net.*;
007    import java.awt.*;
008    import java.awt.event.*;
009    import javax.swing.*;
010    import javax.swing.event.*;
011    
012    import org.util.xml.parse.policy.*;
013    import org.util.xml.element.*;
014    
015    public abstract class HTMLObject implements ParserPolicy {
016    
017        private HTMLDocument root_;
018        private boolean is_layouted_;
019        private int next_x_, next_y_;
020        private int height_;
021        
022        public HTMLObject(HTMLDocument root) {
023            root_ = root;
024        }
025        public HTMLDocument getRoot() {
026            return root_;
027        }
028        public void setLayouted(boolean is_layouted) {
029            is_layouted_ = is_layouted;
030        }
031        public boolean isLayouted() {
032            return is_layouted_;
033        }
034    
035        public int getNextX() {
036            return next_x_;
037        }
038        public int getNextY() {
039            return next_y_;
040        }
041        public void setNextXY(int next_x, int next_y) {
042            next_x_ = next_x;
043            next_y_ = next_y;
044        }
045    
046        public abstract JComponent getPanel();
047    
048        protected String[] forse_empty_tag_list_ = {"br","hr","meta","link","img","input","base","dd","dt","frame","p","pre","li","space"};
049    
050        public Element allowElement(Element element) {
051            return element;
052        }
053        public boolean checkEndTag() {
054            return true;
055        }
056        public boolean forceEmptyTag(String key) {
057            for(int i=0;i<forse_empty_tag_list_.length;i++)
058                if(forse_empty_tag_list_[i].equals(key.toLowerCase()))
059                    return true;
060            return false;
061        }
062        public ParserPolicy getInnerPolicy(Element element) {
063            return this;
064        }
065        public String selectEncoding(java.lang.String last_tag_key) {
066            return "utf-8";
067        }
068        public boolean throwExceptionIfDocumentHasError() {
069            return false;
070        }
071        public boolean finished() {
072            return false;
073        }
074    }