# Interface HTMLSegment

All Known Implementing Classes:
  `BlockElement, TableCell, TextBlock, WebResponse`

public interface HTMLSegment
Represents the parse tree for a segment of HTML.

Author:
  Russell Gold

## Method Summary

Modifier and Type
Method
Description
`WebApplet[]`
`getApplets()`
Returns the applets found in the page in the order in which they appear.
`String[]`
`getElementNames()`
Returns a list of HTML element names contained in this HTML section.
`HTMLElement[]`
`getElementsWithAttribute(String name, String value)`
Returns the HTMLElements found with the specified attribute value.
`HTMLElement[]`
`getElementsWithName(String name)`
Returns the HTMLElements found in this segment with the specified name.
`HTMLElement`
`getElementWithID(String id)`
Returns the HTMLElement found in this segment with the specified ID.
`WebForm`
`getFirstMatchingForm(HTMLElementPredicate predicate, Object value)`
Returns the first form found in the page matching the specified criteria.
`WebLink`
`getFirstMatchingLink(HTMLElementPredicate predicate, Object value)`
Returns the first link found in the page matching the specified criteria.
`WebTable`
`getFirstMatchingTable(HTMLElementPredicate predicate, Object criteria)`
Returns the first table in the response which matches the specified predicate and value.
`WebForm[]`
`getForms()`
Returns the forms found in this HTML segment in the order in which they appear.
`WebForm`
`getFormWithID(String ID)`
Returns the form found in this HTML segment with the specified ID.
`WebForm`
`getFormWithName(String name)`
Returns the form found in this HTML segment with the specified name.
`WebImage[]`
`getImages()`
Returns the images found in the page in the order in which they appear.
`WebImage`
`getImageWithAltText(String source)`
Returns the first image found in the page with the specified alt attribute.
`WebImage`
`getImageWithName(String name)`
Returns the image found in the page with the specified name.
`WebImage`
`getImageWithSource(String source)`
Returns the first image found in the page with the specified src attribute.
`WebLink[]`
`getLinks()`
Returns the links found in this HTML segment in the order in which they appear.
`WebLink`
`getLinkWith(String text)`
Returns the first link which contains the specified text.
`WebLink`
`getLinkWithImageText(String text)`
Returns the first link which contains an image with the specified text as its 'alt' attribute.
`WebForm[]`
`getMatchingForms(HTMLElementPredicate predicate, Object criteria)`
Returns all forms found in the page matching the specified criteria.
`WebLink[]`
`getMatchingLinks(HTMLElementPredicate predicate, Object criteria)`
Returns all links found in the page matching the specified criteria.
`WebTable[]`
`getMatchingTables(HTMLElementPredicate predicate, Object criteria)`
Returns all tables found in the page matching the specified criteria.
`WebTable[]`
`getTables()`
Returns the top-level tables found in this HTML segment in the order in which they appear.
`WebTable`
`getTableStartingWith(String text)`
Returns the first table in this HTML segment which has the specified text as the full text of its first non-blank row and non-blank column.
`WebTable`
`getTableStartingWithPrefix(String text)`
Returns the first table in this HTML segment which has the specified text as a prefix of the text in its first non-blank row and non-blank column.
`WebTable`
`getTableWithID(String ID)`
Returns the first table in this HTML segment which has the specified text as its ID attribute.
`WebTable`
`getTableWithSummary(String summary)`
Returns the first table in this HTML segment which has the specified text as its summary attribute.
`TextBlock[]`
`getTextBlocks()`
Returns the top-level block elements found in the page in the order in which they appear.

## Method Details

### getElementWithID

HTMLElement getElementWithID(String id) throws SAXException
Returns the HTMLElement found in this segment with the specified ID.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getElementsWithName

HTMLElement[] getElementsWithName(String name) throws SAXException
Returns the HTMLElements found in this segment with the specified name.

Throws:
  `SAXException`

### getElementsWithAttribute

HTMLElement[] getElementsWithAttribute(String name, String value) throws SAXException
Returns the HTMLElements found with the specified attribute value.

Throws:
  `SAXException`
Since:
  1.6

### getElementNames

String[] getElementNames() throws SAXException
Returns a list of HTML element names contained in this HTML section.

Throws:
  `SAXException`

### getForms

WebForm[] getForms() throws SAXException
Returns the forms found in this HTML segment in the order in which they appear.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getFormWithID

WebForm getFormWithID(String ID) throws SAXException
Returns the form found in this HTML segment with the specified ID.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getFormWithName

WebForm getFormWithName(String name) throws SAXException
Returns the form found in this HTML segment with the specified name.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getFirstMatchingForm

WebForm getFirstMatchingForm(HTMLElementPredicate predicate, Object value) throws SAXException
Returns the first form found in the page matching the specified criteria.

Throws:
  `SAXException` - thrown if there is an error parsing the response.

### getMatchingForms

WebForm[] getMatchingForms(HTMLElementPredicate predicate, Object criteria) throws SAXException
Returns all forms found in the page matching the specified criteria.

Throws:
  `SAXException` - thrown if there is an error parsing the response.

### getLinks

WebLink[] getLinks() throws SAXException
Returns the links found in this HTML segment in the order in which they appear.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getLinkWith

WebLink getLinkWith(String text) throws SAXException
Returns the first link which contains the specified text.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getLinkWithImageText

WebLink getLinkWithImageText(String text) throws SAXException
Returns the first link which contains an image with the specified text as its 'alt' attribute.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getFirstMatchingLink

WebLink getFirstMatchingLink(HTMLElementPredicate predicate, Object value) throws SAXException
Returns the first link found in the page matching the specified criteria.

Throws:
  `SAXException` - thrown if there is an error parsing the response.

### getMatchingLinks

WebLink[] getMatchingLinks(HTMLElementPredicate predicate, Object criteria) throws SAXException
Returns all links found in the page matching the specified criteria.

Throws:
  `SAXException` - thrown if there is an error parsing the response.

### getImages

WebImage[] getImages() throws SAXException
Returns the images found in the page in the order in which they appear.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getImageWithName

WebImage getImageWithName(String name) throws SAXException
Returns the image found in the page with the specified name.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getImageWithSource

WebImage getImageWithSource(String source) throws SAXException
Returns the first image found in the page with the specified src attribute.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getImageWithAltText

WebImage getImageWithAltText(String source) throws SAXException
Returns the first image found in the page with the specified alt attribute.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getApplets

WebApplet[] getApplets() throws SAXException
Returns the applets found in the page in the order in which they appear.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getTextBlocks

TextBlock[] getTextBlocks() throws SAXException
Returns the top-level block elements found in the page in the order in which they appear.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.
Since:
  1.6

### getTables

WebTable[] getTables() throws SAXException
Returns the top-level tables found in this HTML segment in the order in which they appear.

Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getFirstMatchingTable

WebTable getFirstMatchingTable(HTMLElementPredicate predicate, Object criteria) throws SAXException
Returns the first table in the response which matches the specified predicate and value. Will recurse into any nested tables, as needed.

Returns:
  the selected table, or null if none is found
Throws:
  `SAXException`

### getMatchingTables

WebTable[] getMatchingTables(HTMLElementPredicate predicate, Object criteria) throws SAXException
Returns all tables found in the page matching the specified criteria.

Throws:
  `SAXException` - thrown if there is an error parsing the response.

### getTableStartingWith

WebTable getTableStartingWith(String text) throws SAXException
Returns the first table in this HTML segment which has the specified text as the full text of its first non-blank row and non-blank column. Will recurse into any nested tables, as needed.

Returns:
  the selected table, or null if none is found
Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getTableStartingWithPrefix

WebTable getTableStartingWithPrefix(String text) throws SAXException
Returns the first table in this HTML segment which has the specified text as a prefix of the text in its first non-blank row and non-blank column. Will recurse into any nested tables, as needed.

Returns:
  the selected table, or null if none is found
Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getTableWithSummary

WebTable getTableWithSummary(String summary) throws SAXException
Returns the first table in this HTML segment which has the specified text as its summary attribute. Will recurse into any nested tables, as needed.

Returns:
  the selected table, or null if none is found
Throws:
  `SAXException` - thrown if there is an error parsing the segment.

### getTableWithID

WebTable getTableWithID(String ID) throws SAXException
Returns the first table in this HTML segment which has the specified text as its ID attribute. Will recurse into any nested tables, as needed.

Returns:
  the selected table, or null if none is found
Throws:
  `SAXException` - thrown if there is an error parsing the segment.