public class DiskIndexLinkedList extends Object implements IndexLinkedList
Modifier and Type | Field and Description |
---|---|
protected IndexManager |
indexManager |
protected IndexItem |
last |
protected IndexItem |
root |
protected int |
size |
Constructor and Description |
---|
DiskIndexLinkedList(IndexManager im,
IndexItem header)
Constructs an empty list.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(IndexItem item)
Appends the specified element to the end of this list.
|
void |
add(int index,
IndexItem element)
Inserts the specified element at the specified position in this list.
|
void |
addFirst(IndexItem item)
Inserts the given element at the beginning of this list.
|
void |
addLast(IndexItem item)
Appends the given element to the end of this list.
|
void |
clear()
Removes all of the elements from this list.
|
IndexItem |
get(int index)
Returns the element at the specified position in this list.
|
StoreEntry |
getEntry(StoreEntry current)
Ensure we have the up to date entry
|
IndexItem |
getFirst()
Returns the first element in this list.
|
IndexItem |
getLast()
Returns the last element in this list.
|
IndexItem |
getNextEntry(IndexItem current)
Retrieve the next entry after this entry
|
IndexItem |
getPrevEntry(IndexItem current)
Retrive the prev entry after this entry
|
IndexItem |
getRoot() |
int |
indexOf(StoreEntry o)
Returns the index in this list of the first occurrence of the specified
element, or -1 if the List does not contain this element.
|
boolean |
isEmpty()
is the list empty?
|
StoreEntry |
refreshEntry(StoreEntry current)
Update the indexes of a StoreEntry
|
void |
remove(IndexItem e)
remove an entry
|
Object |
remove(int index)
Removes the element at the specified position in this list.
|
StoreEntry |
removeFirst()
Removes and returns the first element from this list.
|
Object |
removeLast()
Removes and returns the last element from this list.
|
void |
setRoot(IndexItem e)
Set the new Root
|
int |
size()
Returns the number of elements in this list.
|
protected IndexManager indexManager
protected transient IndexItem root
protected transient IndexItem last
protected transient int size
public DiskIndexLinkedList(IndexManager im, IndexItem header)
public IndexItem getRoot()
getRoot
in interface IndexLinkedList
public void setRoot(IndexItem e)
IndexLinkedList
setRoot
in interface IndexLinkedList
public IndexItem getFirst()
getFirst
in interface IndexLinkedList
public IndexItem getLast()
getLast
in interface IndexLinkedList
public StoreEntry removeFirst()
removeFirst
in interface IndexLinkedList
public Object removeLast()
removeLast
in interface IndexLinkedList
public void addFirst(IndexItem item)
addFirst
in interface IndexLinkedList
o
- the element to be inserted at the beginning of this list.public void addLast(IndexItem item)
addLast
in interface IndexLinkedList
o
- the element to be inserted at the end of this list.public int size()
size
in interface IndexLinkedList
public boolean isEmpty()
isEmpty
in interface IndexLinkedList
public boolean add(IndexItem item)
add
in interface IndexLinkedList
o
- element to be appended to this list.public void clear()
clear
in interface IndexLinkedList
public IndexItem get(int index)
get
in interface IndexLinkedList
index
- index of element to return.IndexOutOfBoundsException
- if the specified index is is out of
range (index < 0 || index >= size()).public void add(int index, IndexItem element)
add
in interface IndexLinkedList
index
- index at which the specified element is to be inserted.element
- element to be inserted.IndexOutOfBoundsException
- if the specified index is out of range (index < 0 || index > size()).public Object remove(int index)
remove
in interface IndexLinkedList
index
- the index of the element to removed.IndexOutOfBoundsException
- if the specified index is out of range (index < 0 || index >= size()).public int indexOf(StoreEntry o)
indexOf
in interface IndexLinkedList
o
- element to search for.public IndexItem getNextEntry(IndexItem current)
getNextEntry
in interface IndexLinkedList
entry
- public IndexItem getPrevEntry(IndexItem current)
getPrevEntry
in interface IndexLinkedList
entry
- public StoreEntry getEntry(StoreEntry current)
IndexLinkedList
getEntry
in interface IndexLinkedList
public StoreEntry refreshEntry(StoreEntry current)
refreshEntry
in interface IndexLinkedList
current
- public void remove(IndexItem e)
IndexLinkedList
remove
in interface IndexLinkedList
Copyright © 2005–2015 The Apache Software Foundation. All rights reserved.