org.htmlparser.parserapplications.filterbuilder

Class Filter

public abstract class Filter extends JComponent implements NodeFilter

Base class for all filters. Provides common functionality applicable to all filters.
Field Summary
protected static HashtablemWrappers
Map from cilter class to wrapper.
Constructor Summary
Filter()
Create a filter.
Method Summary
static Stringdeconstitute(Filter[] filters)
Returns a string serialization of the filters.
static byte[]deserialize(String string)
Convert a sequence of hexadecimal characters back into a byte array.
abstract StringgetDescription()
Get the name of the filter.
protected static SubFilterListgetEnclosed(Component component)
Get the enclosed sub filter list if any.
IcongetIcon()
Get the icon for the filter.
abstract StringgetIconSpec()
Get the resource name for the icon.
abstract NodeFiltergetNodeFilter()
Get the underlying node filter object.
abstract NodeFilter[]getSubNodeFilters()
Get the underlying node filter's subordinate filters.
static Filterinstantiate(String class_name)
Create a new filter from the class name.
static voidnewline(StringBuffer out)
Append a newline to the buffer.
static byte[]pickle(Object object)
Serialize an object to a byte array.
static Filter[]reconstitute(String string, Parser context)
Returns the filters represented by the string.
static Stringserialize(byte[] data)
Serialize a byte array to a String.
voidsetExpanded(boolean expanded)
Set the expanded state for the component.
abstract voidsetNodeFilter(NodeFilter filter, Parser context)
Assign the underlying node filter for this wrapper.
voidsetSelected(boolean selected)
Set the 'selected look' for the component.
abstract voidsetSubNodeFilters(NodeFilter[] filters)
Assign the underlying node filter's subordinate filters.
static voidspaces(StringBuffer out, int count)
Append count spaces to the buffer.
abstract StringtoJavaCode(StringBuffer out, int[] context)
Convert this filter into Java code.
StringtoString()
Returns a string representation of this component and its values.
static Objectunpickle(byte[] data)
Reconstitute a serialized object.
static Filterwrap(NodeFilter filter, Parser context)
Returns a wrapped filter.

Field Detail

mWrappers

protected static Hashtable mWrappers
Map from cilter class to wrapper. Populated as part of each wrapper being loaded.

Constructor Detail

Filter

public Filter()
Create a filter. Set up the default display. Only a border with the label of the filter name, returned by getDescription(), and an icon, returned by getIcon().

Method Detail

deconstitute

public static String deconstitute(Filter[] filters)
Returns a string serialization of the filters.

Parameters: filters The list of filters to serialize.

Returns: A string representation of the filters.

Throws: IOException If serialization fails.

deserialize

public static byte[] deserialize(String string)
Convert a sequence of hexadecimal characters back into a byte array.

Parameters: string The string to convert (must be correct hex characters).

Returns: The bytes as an array.

getDescription

public abstract String getDescription()
Get the name of the filter.

Returns: A descriptive name for the filter.

getEnclosed

protected static SubFilterList getEnclosed(Component component)
Get the enclosed sub filter list if any. Todo: rationalize with FilterBuilder's method(s) of the same name.

Parameters: component The component that's supposedly enclosing the list.

Returns: The enclosed component or null otherwise.

getIcon

public Icon getIcon()
Get the icon for the filter. Loads the resource specified by getIconSpec() as an icon.

Returns: The icon or null if it was not found.

getIconSpec

public abstract String getIconSpec()
Get the resource name for the icon.

Returns: The icon resource specification.

getNodeFilter

public abstract NodeFilter getNodeFilter()
Get the underlying node filter object.

Returns: The node filter object suitable for serialization.

getSubNodeFilters

public abstract NodeFilter[] getSubNodeFilters()
Get the underlying node filter's subordinate filters.

Returns: The node filter object's contained filters.

instantiate

public static Filter instantiate(String class_name)
Create a new filter from the class name.

Parameters: class_name The class to instatiate.

Returns: The constructed filter object.

newline

public static void newline(StringBuffer out)
Append a newline to the buffer.

Parameters: out The buffer to append to.

pickle

public static byte[] pickle(Object object)
Serialize an object to a byte array.

Parameters: object The object to be pickled.

Returns: The serialized object.

Throws: IOException If the output stream complains (unlikely).

reconstitute

public static Filter[] reconstitute(String string, Parser context)
Returns the filters represented by the string.

Parameters: string The string with serialized node filters. context The context from which to extract meaningful values for GUI choices (which aren't serialized).

Returns: The filters gleaned from the string.

See Also: Filter

serialize

public static String serialize(byte[] data)
Serialize a byte array to a String. Convert each byte from the serialized object into a couple of hexadecimal characters.

Parameters: data The serialized object as a byte array.

Returns: The string representing the serialized object.

setExpanded

public void setExpanded(boolean expanded)
Set the expanded state for the component. This sets invisible all but the JLabel component in the comand component.

Parameters: expanded If true, 'expand' this component, otherwise 'collapse' it.

setNodeFilter

public abstract void setNodeFilter(NodeFilter filter, Parser context)
Assign the underlying node filter for this wrapper.

Parameters: filter The filter to wrap. context The parser to use for conditioning this filter. Some filters need contextual information to provide to the user, i.e. for tag names or attribute names or values, so the Parser context is provided.

setSelected

public void setSelected(boolean selected)
Set the 'selected look' for the component.

Parameters: selected If true, 'select' this component, otherwise 'deselect' it.

setSubNodeFilters

public abstract void setSubNodeFilters(NodeFilter[] filters)
Assign the underlying node filter's subordinate filters.

Parameters: filters The filters to insert into the underlying node filter.

spaces

public static void spaces(StringBuffer out, int count)
Append count spaces to the buffer.

Parameters: out The buffer to append to. count The number of spaces to append.

toJavaCode

public abstract String toJavaCode(StringBuffer out, int[] context)
Convert this filter into Java code. Output whatever text necessary and return the variable name.

Parameters: out The output buffer. context Three integers as follows:

  • indent level - the number of spaces to insert at the beginning of each line
  • filter number - the next available filter number
  • filter array number - the next available array of filters number
  • Returns: The variable name to use when referencing this filter (usually "filter" + context[1]++)

    toString

    public String toString()
    Returns a string representation of this component and its values.

    Returns: A string representation of this component.

    unpickle

    public static Object unpickle(byte[] data)
    Reconstitute a serialized object.

    Parameters: data The pickled object.

    Returns: The reconstituted object.

    Throws: IOException If the input stream complains. ClassNotFoundException If the serialized object class cannot be located.

    wrap

    public static Filter wrap(NodeFilter filter, Parser context)
    Returns a wrapped filter.

    Parameters: filter A filter to be wrapped by GUI components. context The context within which to wrap the object. Some wrappers need context to set up useful choices for the user.

    Returns: The filter to wrap.

    HTML Parser is an open source library released under LGPL. SourceForge.net