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 }