/**
 * @(#)HTMLDocumentEx.java
 * Copyright 2001 Nomura Research Institute, LTD. All rights reserved.
 * RID-3 : HTML Document Ex
 * @author  Intelligent Technology Inc.
 * @version 1.00 2002/08/26
 */
package	jp.co.nri.rid.web;

import	javax.swing.text.*;
import	javax.swing.text.html.*;
import	java.util.*;

/**
 * HTMLDocumentにareaタグを取得する機能を付加した。
 */
public class HTMLDocumentEx extends HTMLDocument{
	public Vector areas;
	
	/**
	 * 唯一のコンストラクタ。
	 * @since	1.00
	 */
	public HTMLDocumentEx(){ areas = new Vector(); }
	
	/**
	 * スーパークラスHTMLDocumentのメソッドをオーバーライド。
	 * HTMLEditorKitにより呼び出されareaタグを収集する機能を付加したHTMLReaderを返す。
	 * @since	1.00
	 */
    public HTMLEditorKit.ParserCallback getReader(int pos){ return new HTMLReaderEx(); }
	
/**
 * areaタグを取得する機能を付加したHTMLReader。
 */
	public class HTMLReaderEx extends HTMLReader{
		public HTMLReaderEx(){ super(0); }
		
		public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos){
			if("area".equalsIgnoreCase(t.toString()))	areas.add(a.copyAttributes());
			super.handleSimpleTag(t ,a ,pos);
		}
	}
}
