| java.lang.Object org.apache.html.dom.HTMLCollectionImpl
HTMLCollectionImpl | class HTMLCollectionImpl implements HTMLCollection(Code) | | Implements
org.w3c.dom.html.HTMLCollection to traverse any named
elements on a
org.w3c.dom.html.HTMLDocument . The elements type to
look for is identified in the constructor by code. This collection is not
optimized for traversing large trees.
The collection has to meet two requirements: it has to be live, and it has
to traverse depth first and always return results in that order. As such,
using an object container (such as
java.util.Vector ) is expensive on
insert/remove operations. Instead, the collection has been implemented using
three traversing functions. As a result, operations on large documents will
result in traversal of the entire document tree and consume a considerable
amount of time.
Note that synchronization on the traversed document cannot be achieved.
The document itself cannot be locked, and locking each traversed node is
likely to lead to a dead lock condition. Therefore, there is a chance of the
document being changed as results are fetched; in all likelihood, the results
might be out dated, but not erroneous.
version: $Revision: 447255 $ $Date: 2006-09-18 01:36:42 -0400 (Mon, 18 Sep 2006) $ author: Assaf Arkin See Also: org.w3c.dom.html.HTMLCollection |
Field Summary | |
final static short | ANCHOR Request collection of all anchors in document: <A> elements that
have a name attribute. | final static short | APPLET Request collection of all Applets in document: <APPLET> and
<OBJECT> elements (<OBJECT> must contain an Applet). | final static short | AREA Request collection of all areas in map: <AREA> element in <MAP>
(non recursive). | final static short | CELL Request collection of all cells in row: <TD> elements in <TR>
(non recursive). | final static short | ELEMENT Request collection of all form elements: <INPUT>, <BUTTON>,
<SELECT>, <TEXT> and <TEXTAREA> elements inside form
<FORM>. | final static short | FORM Request collection of all forms in document: <FORM> elements. | final static short | IMAGE Request collection of all images in document: <IMAGE> elements. | final static short | LINK Request collection of all links in document: <A> and <AREA>
elements (must have a href attribute). | final static short | OPTION Request collection of all options in selection: <OPTION> elments in
<SELECT> or <OPTGROUP>. | final static short | ROW Request collection of all rows in table: <TR> elements in table or
table section. | final static short | TBODY Request collection of all table bodies in table: <TBODY> element in
table <TABLE> (non recursive). |
Constructor Summary | |
| HTMLCollectionImpl(HTMLElement topLevel, short lookingFor) Construct a new collection that retrieves element of the specific type
(lookingFor ) from the specific document portion
(topLevel ). |
Method Summary | |
protected boolean | collectionMatch(Element elem, String name) Determines if current element matches based on what we're looking for.
The element is passed along with an optional identifier name. | final public int | getLength() Returns the length of the collection. | final public Node | item(int index) Retrieves the indexed node from the collection. | final public Node | namedItem(String name) Retrieves the named node from the collection. | protected boolean | recurse() Returns true if scanning methods should iterate through the collection.
When looking for elements in the document, recursing is needed to traverse
the full document tree. |
ANCHOR | final static short ANCHOR(Code) | | Request collection of all anchors in document: <A> elements that
have a name attribute.
|
APPLET | final static short APPLET(Code) | | Request collection of all Applets in document: <APPLET> and
<OBJECT> elements (<OBJECT> must contain an Applet).
|
AREA | final static short AREA(Code) | | Request collection of all areas in map: <AREA> element in <MAP>
(non recursive).
|
CELL | final static short CELL(Code) | | Request collection of all cells in row: <TD> elements in <TR>
(non recursive).
|
ELEMENT | final static short ELEMENT(Code) | | Request collection of all form elements: <INPUT>, <BUTTON>,
<SELECT>, <TEXT> and <TEXTAREA> elements inside form
<FORM>.
|
FORM | final static short FORM(Code) | | Request collection of all forms in document: <FORM> elements.
|
IMAGE | final static short IMAGE(Code) | | Request collection of all images in document: <IMAGE> elements.
|
LINK | final static short LINK(Code) | | Request collection of all links in document: <A> and <AREA>
elements (must have a href attribute).
|
OPTION | final static short OPTION(Code) | | Request collection of all options in selection: <OPTION> elments in
<SELECT> or <OPTGROUP>.
|
ROW | final static short ROW(Code) | | Request collection of all rows in table: <TR> elements in table or
table section.
|
TBODY | final static short TBODY(Code) | | Request collection of all table bodies in table: <TBODY> element in
table <TABLE> (non recursive).
|
HTMLCollectionImpl | HTMLCollectionImpl(HTMLElement topLevel, short lookingFor)(Code) | | Construct a new collection that retrieves element of the specific type
(lookingFor ) from the specific document portion
(topLevel ).
Parameters: topLevel - The element underneath which the collection exists Parameters: lookingFor - Code indicating what elements to look for |
collectionMatch | protected boolean collectionMatch(Element elem, String name)(Code) | | Determines if current element matches based on what we're looking for.
The element is passed along with an optional identifier name. If the
element is the one we're looking for, return true. If the name is also
specified, the name must match the id attribute
(match name first for anchors).
Parameters: elem - The current element Parameters: name - The identifier name or null The element matches what we're looking for |
getLength | final public int getLength()(Code) | | Returns the length of the collection. This method might traverse the
entire document tree.
Length of the collection |
item | final public Node item(int index)(Code) | | Retrieves the indexed node from the collection. Nodes are numbered in
tree order - depth-first traversal order. This method might traverse
the entire document tree.
Parameters: index - The index of the node to return The specified node or null if no such node found |
namedItem | final public Node namedItem(String name)(Code) | | Retrieves the named node from the collection. The name is matched case
sensitive against the id attribute of each element in the
collection, returning the first match. The tree is traversed in
depth-first order. This method might traverse the entire document tree.
Parameters: name - The name of the node to return The specified node or null if no such node found |
recurse | protected boolean recurse()(Code) | | Returns true if scanning methods should iterate through the collection.
When looking for elements in the document, recursing is needed to traverse
the full document tree. When looking inside a specific element (e.g. for a
cell inside a row), recursing can lead to erroneous results.
True if methods should recurse to traverse entire tree |
|
|