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.lexer.nodes
Class PageAttribute

    java.lang.Object
      org.htmlparser.lexer.nodes.Attribute
          org.htmlparser.lexer.nodes.PageAttribute

All Implemented Interfaces:
  Serializable

public class PageAttribute
extends Attribute

An attribute within a tag on a page. This attribute is similar to Attribute but 'lazy loaded' from the `Page` by providing the page and cursor offsets into the page for the name and value. This is done for speed, since if the name and value are not needed we can avoid the cost and memory overhead of creating the strings.

Thus the property getters, defer to the base class unless the property is null, in which case an attempt is made to read it from the underlying page. Optimizations in the predicates and length calculation defer the actual instantiation of strings until absolutely needed.

See Also:
  Serialized Form

Field Summary
`protected int` | `mNameEnd` The ending offset of the name within the page.
`protected int` | `mNameStart` The starting offset of the name within the page.
`protected Page` | `mPage` The page this attribute is extracted from.
`protected int` | `mValueEnd` The ending offset of the name within the page.
`protected int` | `mValueStart` The starting offset of the value within the page.

Fields inherited from class org.htmlparser.lexer.nodes.Attribute
`mAssignment, mName, mQuote, mValue`

Constructor Summary
`PageAttribute()` Create an empty attribute.
`PageAttribute(Page page, int name_start, int name_end, int value_start, int value_end, char quote)` Create an attribute.
`PageAttribute(String value)` Create a whitespace attribute with the value given.
`PageAttribute(String name, String value)` Create an attribute with the name and value given.
`PageAttribute(String name, String value, char quote)` Create an attribute with the name, value and quote given.
`PageAttribute(String name, String assignment, String value)` Create an attribute with the name, assignment string and value given.
`PageAttribute(String name, String assignment, String value, char quote)` Create an attribute with the name, assignment string, value and quote given.

Method Summary
`String` | `getAssignment()` Get the assignment string of this attribute.
`void` | `getAssignment(StringBuffer buffer)` Get the assignment string of this attribute.
`int` | `getLength()` Get the length of the string value of this attribute.
`String` | `getName()` Get the name of this attribute.
`void` | `getName(StringBuffer buffer)` Get the name of this attribute.
`int` | `getNameEndPosition()` Get the ending position of the attribute name.
`int` | `getNameStartPosition()` Get the starting position of the attribute name.
`Page` | `getPage()` Get the page this attribute is anchored to, if any.
`String` | `getRawValue()` Get the raw value of the attribute.
`void` | `getRawValue(StringBuffer buffer)` Get the raw value of the attribute.
`String` | `getValue()` Get the value of the attribute.
`void` | `getValue(StringBuffer buffer)` Get the value of the attribute.
`int` | `getValueEndPosition()` Get the ending position of the attribute value.
`int` | `getValueStartPosition()` Get the starting position of the attribute value.
`boolean` | `isEmpty()` Predicate to determine if this attribute has an equals sign but no value.
`boolean` | `isStandAlone()` Predicate to determine if this attribute has no equals sign (or value).
`boolean` | `isValued()` Predicate to determine if this attribute has a value.
`boolean` | `isWhitespace()` Predicate to determine if this attribute is whitespace.
`void` | `setNameEndPosition(int end)` Set the ending position of the attribute name.
`void` | `setNameStartPosition(int start)` Set the starting position of the attribute name.
`void` | `setPage(Page page)` Set the page this attribute is anchored to.
`void` | `setValueEndPosition(int end)` Set the ending position of the attribute value.
`void` | `setValueStartPosition(int start)` Set the starting position of the attribute value.

Methods inherited from class org.htmlparser.lexer.nodes.Attribute
`getQuote, getQuote, setAssignment, setName, setQuote, setRawValue, setValue, toString, toString`

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

Field Detail

### mPage

    protected Page mPage

  The page this attribute is extracted from.

### mNameStart

    protected int mNameStart

  The starting offset of the name within the page. If negative, the name is considered `null`.

### mNameEnd

    protected int mNameEnd

  The ending offset of the name within the page.

### mValueStart

    protected int mValueStart

  The starting offset of the value within the page. If negative, the value is considered `null`.

### mValueEnd

    protected int mValueEnd

  The ending offset of the name within the page.

Constructor Detail

### PageAttribute

    public PageAttribute(Page page,
                         int name_start,
                         int name_end,
                         int value_start,
                         int value_end,
                         char quote)

  Create an attribute.

Parameters:
  `page` - The page containing the attribute.
  `name_start` - The starting offset of the name within the page. If this is negative, the name is considered null.
  `name_end` - The ending offset of the name within the page.
  `value_start` - he starting offset of the value within the page. If this is negative, the value is considered null.
  `value_end` - The ending offset of the value within the page.
  `quote` - The quote, if any, surrounding the value of the attribute, (i.e. ' or "), or zero if none.

### PageAttribute

    public PageAttribute(String name,
                         String assignment,
                         String value,
                         char quote)

  Create an attribute with the name, assignment string, value and quote given. If the quote value is zero, assigns the value using `Attribute.setRawValue(java.lang.String)` which sets the quote character to a proper value if necessary.

Parameters:
  `name` - The name of this attribute.
  `assignment` - The assignment string of this attribute.
  `value` - The value of this attribute.
  `quote` - The quote around the value of this attribute.

### PageAttribute

    public PageAttribute(String name,
                         String value,
                         char quote)

  Create an attribute with the name, value and quote given. Uses an equals sign as the assignment string if the value is not `null`, and calls `Attribute.setRawValue(java.lang.String)` to get the correct quoting if `quote` is zero.

Parameters:
  `name` - The name of this attribute.
  `value` - The value of this attribute.
  `quote` - The quote around the value of this attribute.

### PageAttribute

    public PageAttribute(String value)

  Create a whitespace attribute with the value given.

Parameters:
  `value` - The value of this attribute.
Throws:
  `IllegalArgumentException` - if the value contains other than whitespace. To set a real value use `Attribute.Attribute(String)`.

### PageAttribute

    public PageAttribute(String name,
                         String value)

  Create an attribute with the name and value given. Uses an equals sign as the assignment string if the value is not `null`, and calls `Attribute.setRawValue(java.lang.String)` to get the correct quoting.

Parameters:
  `name` - The name of this attribute.
  `value` - The value of this attribute.

### PageAttribute

    public PageAttribute(String name,
                         String assignment,
                         String value)

  Create an attribute with the name, assignment string and value given. Calls `Attribute.setRawValue(java.lang.String)` to get the correct quoting.

Parameters:
  `name` - The name of this attribute.
  `assignment` - The assignment string of this attribute.
  `value` - The value of this attribute.

### PageAttribute

    public PageAttribute()

  Create an empty attribute. This will provide "" from the `Attribute.toString()` and `Attribute.toString(StringBuffer)` methods.

Method Detail

### getName

    public String getName()

  Get the name of this attribute. The part before the equals sign, or the contents of the stand-alone attribute.

  Overrides:
    `getName` in class `Attribute`
  Returns:
    The name, or `null` if it's just a whitepace 'attribute'.

### getName

    public void getName(StringBuffer buffer)

  Get the name of this attribute.

  Overrides:
    `getName` in class `Attribute`
  Parameters:
    `buffer` - The buffer to place the name in.
  See Also:
    `getName()`

### getAssignment

    public String getAssignment()

  Get the assignment string of this attribute. This is usually just an equals sign, but in poorly formed attributes it can include whitespace on either or both sides of an equals sign.

  Overrides:
    `getAssignment` in class `Attribute`
  Returns:
    The assignment string.

### getAssignment

    public void getAssignment(StringBuffer buffer)

  Get the assignment string of this attribute.

  Overrides:
    `getAssignment` in class `Attribute`
  Parameters:
    `buffer` - The buffer to place the assignment string in.
  See Also:
    `getAssignment()`

### getValue

    public String getValue()

  Get the value of the attribute. The part after the equals sign, or the text if it's just a whitepace 'attribute'. NOTE: This does not include any quotes that may have enclosed the value when it was read. To get the un-stripped value use `getRawValue()`.

  Overrides:
    `getValue` in class `Attribute`
  Returns:
    The value, or `null` if it's a stand-alone or empty attribute, or the text if it's just a whitepace 'attribute'.

### getValue

    public void getValue(StringBuffer buffer)

  Get the value of the attribute.

  Overrides:
    `getValue` in class `Attribute`
  Parameters:
    `buffer` - The buffer to place the value in.
  See Also:
    `getValue()`

### getRawValue

    public String getRawValue()

  Get the raw value of the attribute. The part after the equals sign, or the text if it's just a whitepace 'attribute'. This includes the quotes around the value if any.

  Overrides:
    `getRawValue` in class `Attribute`
  Returns:
    The value, or `null` if it's a stand-alone attribute, or the text if it's just a whitepace 'attribute'.

### getRawValue

    public void getRawValue(StringBuffer buffer)

  Get the raw value of the attribute. The part after the equals sign, or the text if it's just a whitepace 'attribute'. This includes the quotes around the value if any.

  Overrides:
    `getRawValue` in class `Attribute`
  Returns:
    The value, or `null` if it's a stand-alone attribute, or the text if it's just a whitepace 'attribute'.
  See Also:
    `getRawValue()`

### getPage

    public Page getPage()

  Get the page this attribute is anchored to, if any.

  Returns:
    The page used to construct this attribute, or null if this is just a regular attribute.

### setPage

    public void setPage(Page page)

  Set the page this attribute is anchored to.

  Parameters:
    `page` - The page to be used to construct this attribute. Note: If you set this you probably also want to uncache the property values by setting them to null.

### getNameStartPosition

    public int getNameStartPosition()

  Get the starting position of the attribute name.

  Returns:
    The offset into the page at which the name begins.

### setNameStartPosition

    public void setNameStartPosition(int start)

  Set the starting position of the attribute name.

  Parameters:
    `start` - The new offset into the page at which the name begins.

### getNameEndPosition

    public int getNameEndPosition()

  Get the ending position of the attribute name.

  Returns:
    The offset into the page at which the name ends.

### setNameEndPosition

    public void setNameEndPosition(int end)

  Set the ending position of the attribute name.

  Parameters:
    `end` - The new offset into the page at which the name ends.

### getValueStartPosition

    public int getValueStartPosition()

  Get the starting position of the attribute value.

  Returns:
    The offset into the page at which the value begins.

### setValueStartPosition

    public void setValueStartPosition(int start)

  Set the starting position of the attribute value.

  Parameters:
    `start` - The new offset into the page at which the value begins.

### getValueEndPosition

    public int getValueEndPosition()

  Get the ending position of the attribute value.

  Returns:
    The offset into the page at which the value ends.

### setValueEndPosition

    public void setValueEndPosition(int end)

  Set the ending position of the attribute value.

  Parameters:
    `end` - The new offset into the page at which the value ends.

### isWhitespace

    public boolean isWhitespace()

  Predicate to determine if this attribute is whitespace.

  Overrides:
    `isWhitespace` in class `Attribute`
  Returns:
    `true` if this attribute is whitespace, `false` if it is a real attribute.

### isStandAlone

    public boolean isStandAlone()

  Predicate to determine if this attribute has no equals sign (or value).

  Overrides:
    `isStandAlone` in class `Attribute`
  Returns:
    `true` if this attribute is a standalone attribute. `false` if has an equals sign.

### isEmpty

    public boolean isEmpty()

  Predicate to determine if this attribute has an equals sign but no value.

  Overrides:
    `isEmpty` in class `Attribute`
  Returns:
    `true` if this attribute is an empty attribute. `false` if has an equals sign and a value.

### isValued

    public boolean isValued()

  Predicate to determine if this attribute has a value.

  Overrides:
    `isValued` in class `Attribute`
  Returns:
    `true` if this attribute has a value. `false` if it is empty or standalone.

### getLength

    public int getLength()

  Get the length of the string value of this attribute.

  Overrides:
    `getLength` in class `Attribute`
  Returns:
    The number of characters required to express this attribute.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| © 2004 Somik Raha Mar 14, 2004
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.