org.htmlparser.lexer
Class PageIndex
- Serializable, Sortable
A sorted array of integers, the positions of the first characters of each line.
To facilitate processing the first element should be maintained at position 0.
Facilities to add, remove, search and determine row and column are provided.
This class provides similar functionality to a Vector but
does not incur the overhead of an Integer
object per element.
protected int | mCount - The number of valid elements.
|
protected int | mIncrement - Increment for allocations.
|
protected int[] | mIndices - The elements.
|
protected Page | mPage - The page associated with this index.
|
protected static int | mStartIncrement - Starting increment for allocations.
|
PageIndex(Page page) - Create an empty index.
|
PageIndex(Page page, int cursor) - Create an index with the one element given.
|
PageIndex(Page page, int[] cursors) - Create an index with the elements given.
|
int | add(int cursor) - Add an element to the list
|
int | add(Cursor cursor) - Add an element to the list
|
protected int | bsearch(int cursor) - Binary search for the element.
|
protected int | bsearch(int cursor, int first, int last) - Binary search for the element.
|
int | capacity() - Get the capacity for elements without reallocation.
|
int | column(int cursor) - Get the column number for a position.
|
int | column(Cursor cursor) - Get the column number for a cursor.
|
int | elementAt(int index) - Get an element from the list.
|
Ordered | fetch(int index, Ordered reuse) - Fetch the object at the given index.
|
int | first() - Returns the first index of the Sortable.
|
int[] | get() - Get the elements as an array of int.
|
Page | getPage() - Get this index's page.
|
protected void | insertElementAt(int cursor, int index) - Inserts an element into the list.
|
int | last() - Returns the last index of the Sortable.
|
void | remove(int cursor) - Remove an element from the list
|
void | remove(Cursor cursor) - Remove an element from the list
|
protected void | removeElementAt(int index) - Remove an element from the list.
|
int | row(int cursor) - Get the line number for a position.
|
int | row(Cursor cursor) - Get the line number for a cursor.
|
int | size() - Get the count of elements.
|
void | swap(int i, int j) - Swaps the elements at the given indicies.
|
mCount
protected int mCount
The number of valid elements.
mIncrement
protected int mIncrement
Increment for allocations.
mIndices
protected int[] mIndices
The elements.
mPage
protected Page mPage
The page associated with this index.
mStartIncrement
protected static final int mStartIncrement
Starting increment for allocations.
PageIndex
public PageIndex(Page page)
Create an empty index.
page
- The page associated with this index.
PageIndex
public PageIndex(Page page,
int cursor)
Create an index with the one element given.
page
- The page associated with this index.cursor
- The single element for the new index.
PageIndex
public PageIndex(Page page,
int[] cursors)
Create an index with the elements given.
page
- The page associated with this index.cursors
- The initial elements of the index.
NOTE: The list must be sorted in ascending order.
add
public int add(int cursor)
Add an element to the list
cursor
- The element to add.
- The position at which the element was inserted or
the index of the existing element if it is a duplicate.
add
public int add(Cursor cursor)
Add an element to the list
cursor
- The element to add.
- The position at which the element was inserted or
the index of the existing element if it is a duplicate.
bsearch
protected int bsearch(int cursor)
Binary search for the element.
cursor
- The element to search for.
- The index at which the element was found or is to be inserted.
bsearch
protected int bsearch(int cursor,
int first,
int last)
Binary search for the element.
cursor
- The element to search for.first
- The index to start at.last
- The index to stop at.
- The index at which the element was found or is to be inserted.
capacity
public int capacity()
Get the capacity for elements without reallocation.
- The number of spaces for elements.
column
public int column(int cursor)
Get the column number for a position.
cursor
- The character offset into the page.
- The character offset into the line this cursor is on.
column
public int column(Cursor cursor)
Get the column number for a cursor.
cursor
- The character offset into the page.
- The character offset into the line this cursor is on.
elementAt
public int elementAt(int index)
Get an element from the list.
index
- The index of the element to get.
fetch
public Ordered fetch(int index,
Ordered reuse)
Fetch the object at the given index.
- fetch in interface Sortable
index
- The item number to get.reuse
- If this argument is not null, it is an object
acquired from a previous fetch that is no longer needed and
may be returned as the result if it makes mores sense to alter
and return it than to fetch or create a new element. That is, the
reuse object is garbage and may be used to avoid allocating a new
object if that would normally be the strategy.
- The Ordered object at that index.
first
public int first()
Returns the first index of the Sortable.
- first in interface Sortable
- The index of the first element.
get
public int[] get()
Get the elements as an array of int.
- A new array containing the elements,
i.e. a snapshot of the index.
getPage
public Page getPage()
Get this index's page.
- The page associated with this index.
insertElementAt
protected void insertElementAt(int cursor,
int index)
Inserts an element into the list.
The index must be a value greater than or equal to 0 and less than
or equal to the current size of the array.
cursor
- The element to insert.index
- The index in the list to insert it at.
last
public int last()
Returns the last index of the Sortable.
- last in interface Sortable
- The index of the last element.
If this were an array object this would be (object.length - 1).
For an empty index this will return -1.
remove
public void remove(int cursor)
Remove an element from the list
cursor
- The element to remove.
remove
public void remove(Cursor cursor)
Remove an element from the list
cursor
- The element to remove.
removeElementAt
protected void removeElementAt(int index)
Remove an element from the list.
index
- The index of the item to remove.
row
public int row(int cursor)
Get the line number for a position.
cursor
- The character offset into the page.
- The line number the character is in.
row
public int row(Cursor cursor)
Get the line number for a cursor.
cursor
- The character offset into the page.
- The line number the character is in.
size
public int size()
Get the count of elements.
- The number of valid elements.
swap
public void swap(int i,
int j)
Swaps the elements at the given indicies.
- swap in interface Sortable
i
- One index.j
- The other index.
| © 2005 Derrick Oswald Mai 08, 2008 |
HTML Parser is an open source library released under LGPL. |  |