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
013 import org.util.html.event.*;
014
015 public class HTMLDocument {
016
017 private URL url_;
018 private ArrayList<HTMLListener> listener_list_ = new ArrayList<HTMLListener>();
019 private ArrayList<HTMLObject> object_list_ = new ArrayList<HTMLObject>();
020
021 public HTMLDocument() {
022 }
023
024 public void clear() {
025 url_ = null;
026 object_list_.clear();
027 for(HTMLListener listener : listener_list_)
028 listener.cleared(this);
029 }
030
031 public void add(HTMLObject obj) {
032 object_list_.add(obj);
033 for(HTMLListener listener : listener_list_)
034 listener.added(this, obj);
035 }
036
037 public void changed(HTMLObject obj){
038 for(HTMLListener listener : listener_list_)
039 listener.changed(this, obj);
040 }
041
042 public HTMLObject[] getObjectList() {
043 return object_list_.toArray(new HTMLObject[0]);
044 }
045
046 public void setDocumentBase(URL url) {
047 url_ = url;
048 for(HTMLListener listener : listener_list_)
049 listener.changed(this, null);
050 }
051
052 public URL getDocumentBase() {
053 return url_;
054 }
055
056 public void addHTMLListener(HTMLListener listener) {
057 listener_list_.add(listener);
058 }
059 public void removeHTMLListener(HTMLListener listener) {
060 listener_list_.remove(listener);
061 }
062 }