Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| HTML Parser Home Page
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.htmlparser.beans
Class FilterBean

    java.lang.Object
      org.htmlparser.beans.FilterBean

All Implemented Interfaces:
  Serializable

    public class FilterBean

extends Object
implements Serializable

Extract nodes from a URL using a filter.

         FilterBean fb = new FilterBean ("http://cbc.ca");
         fb.setFilters (new NodeFilter[] { new TagNameFilter ("META") });
         fb.setURL ("http://cbc.ca");
         System.out.println (fb.getNodes ().toHtml ());

See Also:
  Serialized Form

Field Summary
`protected NodeFilter[]` | `mFilters` The filter set.
`protected NodeList` | `mNodes` The nodes extracted from the URL.
`protected Parser` | `mParser` The parser used to filter.
`protected PropertyChangeSupport` | `mPropertySupport` Bound property support.
`protected boolean` | `mRecursive` The recursion behaviour for elements of the filter array.
`static String` | `PROP_CONNECTION_PROPERTY` Property name in event where the connection changes.
`static String` | `PROP_NODES_PROPERTY` Property name in event where the URL contents changes.
`static String` | `PROP_TEXT_PROPERTY` Property name in event where the URL contents changes.
`static String` | `PROP_URL_PROPERTY` Property name in event where the URL changes.

Constructor Summary
`FilterBean()` Create a FilterBean object.

Method Summary
`void` | `addPropertyChangeListener(PropertyChangeListener listener)` Add a PropertyChangeListener to the listener list.
`protected NodeList` | `applyFilters()` Apply each of the filters.
`URLConnection` | `getConnection()` Get the current connection.
`NodeFilter[]` | `getFilters()` Get the current filter set.
`NodeList` | `getNodes()` Return the nodes of the URL matching the filter.
`Parser` | `getParser()` Get the parser used to fetch nodes.
`boolean` | `getRecursive()` Get the current recursion behaviour.
`String` | `getText()` Convenience method to apply a `StringBean` to the filter results.
`String` | `getURL()` Get the current URL.
`static void` | `main(String[] args)` Unit test.
`void` | `removePropertyChangeListener(PropertyChangeListener listener)` Remove a PropertyChangeListener from the listener list.
`void` | `setConnection(URLConnection connection)` Set the parser's connection.
`void` | `setFilters(NodeFilter[] filters)` Set the filters for the bean.
`protected void` | `setNodes()` Fetch the URL contents and filter it.
`void` | `setParser(Parser parser)` Set the parser for the bean.
`void` | `setRecursive(boolean recursive)` Set the recursion behaviour.
`void` | `setURL(String url)` Set the URL to extract strings from.
`protected void` | `updateNodes(NodeList nodes)` Assign the `Nodes` property, firing the property change.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PROP_NODES_PROPERTY

    public static final String PROP_NODES_PROPERTY

  Property name in event where the URL contents changes.

  See Also:
    Constant Field Values

### PROP_TEXT_PROPERTY

    public static final String PROP_TEXT_PROPERTY

  Property name in event where the URL contents changes.

  See Also:
    Constant Field Values

### PROP_URL_PROPERTY

    public static final String PROP_URL_PROPERTY

  Property name in event where the URL changes.

  See Also:
    Constant Field Values

### PROP_CONNECTION_PROPERTY

    public static final String PROP_CONNECTION_PROPERTY

  Property name in event where the connection changes.

  See Also:
    Constant Field Values

### mPropertySupport

    protected PropertyChangeSupport mPropertySupport

  Bound property support.

### mParser

    protected Parser mParser

  The parser used to filter.

### mFilters

    protected NodeFilter[] mFilters

  The filter set.

### mNodes

    protected NodeList mNodes

  The nodes extracted from the URL.

### mRecursive

    protected boolean mRecursive

  The recursion behaviour for elements of the filter array. If `true` the filters are applied recursively.

  See Also:
    `NodeList.extractAllNodesThatMatch(NodeFilter, boolean).`

Constructor Detail

### FilterBean

    public FilterBean()

  Create a FilterBean object.

Method Detail

### updateNodes

    protected void updateNodes(NodeList nodes)

  Assign the `Nodes` property, firing the property change.

  Parameters:
    `nodes` - The new value of the `Nodes` property.

### applyFilters

    protected NodeList applyFilters()
                             throws ParserException

  Apply each of the filters. The first filter is applied to the output of the parser. Subsequent filters are applied to the output of the prior filter.

  Returns:
    A list of nodes passed through all filters. If there are no filters, returns the entire page.
  Throws:
    `ParserException` - If an encoding change occurs or there is some other problem.

### setNodes

    protected void setNodes()

  Fetch the URL contents and filter it. Only do work if there is a valid parser with it's URL set.

### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener listener)

  Add a PropertyChangeListener to the listener list. The listener is registered for all properties.

  Parameters:
    `listener` - The PropertyChangeListener to be added.

### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener listener)

  Remove a PropertyChangeListener from the listener list. This removes a registered PropertyChangeListener.

  Parameters:
    `listener` - The PropertyChangeListener to be removed.

### getNodes

    public NodeList getNodes()

  Return the nodes of the URL matching the filter. This is the primary output of the bean.

  Returns:
    The nodes from the URL matching the current filter.

### getURL

    public String getURL()

  Get the current URL.

  Returns:
    The URL from which text has been extracted, or `null` if this property has not been set yet.

### setURL

    public void setURL(String url)

  Set the URL to extract strings from. The text from the URL will be fetched, which may be expensive, so this property should be set last.

  Parameters:
    `url` - The URL that text should be fetched from.

### getConnection

    public URLConnection getConnection()

  Get the current connection.

  Returns:
    The connection that the parser has or `null` if it hasn't been set or the parser hasn't been constructed yet.

### setConnection

    public void setConnection(URLConnection connection)

  Set the parser's connection. The text from the URL will be fetched, which may be expensive, so this property should be set last.

  Parameters:
    `connection` - New value of property Connection.

### getFilters

    public NodeFilter[] getFilters()

  Get the current filter set.

  Returns:
    The current filters.

### setFilters

    public void setFilters(NodeFilter[] filters)

  Set the filters for the bean. If the parser has been set, it is reset and the nodes are refetched with the new filters.

  Parameters:
    `filters` - The filter set to use.

### getParser

    public Parser getParser()

  Get the parser used to fetch nodes.

  Returns:
    The parser used by the bean.

### setParser

    public void setParser(Parser parser)

  Set the parser for the bean. The parser is used immediately to fetch the nodes, which for a null filter means all the nodes

  Parameters:
    `parser` - The parser to use.

### getText

    public String getText()

  Convenience method to apply a `StringBean` to the filter results. This may yield duplicate or multiple text elements if the node list contains nodes from two or more levels in the same nested tag heirarchy, but if the node list contains only one tag, it provides access to the text within the node.

  Returns:
    The textual contents of the nodes that pass through the filter set, as collected by the StringBean.

### getRecursive

    public boolean getRecursive()

  Get the current recursion behaviour.

  Returns:
    The recursion (applies to children, children's children, etc) behavior currently being used.

### setRecursive

    public void setRecursive(boolean recursive)

  Set the recursion behaviour.

  Parameters:
    `recursive` - If `true` the `extractAllNodesThatMatch()` call is performed recursively.
  See Also:
    `NodeList.extractAllNodesThatMatch(NodeFilter, boolean).`

### main

    public static void main(String[] args)

  Unit test.

  Parameters:
    `args` - Pass arg[0] as the URL to process, and optionally a node name for filtering.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| © 2005 Derrick Oswald Jun 10, 2006
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

HTML Parser is an open source library released under LGPL. |