|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.deegree_impl.io.rtree.PageFile
org.deegree_impl.io.rtree.PersistentPageFile
Persistente Implementierung einer PageFile. Implementiert als RandomAccesFile. Aufbau der Datei -- Header -- int pageFileVersion int dimension int capacity = maximum + 1 for overflow int minimum -- Body -- aufeinanderfolgende Pages mit int typ - 1 LeafNode 2 NoneLeafNode int place - Platz, wo Knoten im Vaterknoten steht int counter - Derzeit benutzer Platz im Knoten int parentNode - Nummer der PageFile des Vaterknotens int pageNumber - eigene PageFile-Nummer - for(i = 0; i < capacity; i++) int data Eintrag i - pageNumber Kindknoten oder Objekt-ID der Dateneinträge - jeweils Abhängigkeit von dimension = x double pMin x.Dimension - pMin der gemeinsamen HyperBoundingBox double pMax x.Dimension - pMax der gemeinsamen HyperBoundingBox - for(i = 0; i < capacity; i++) double pMin x.Dimension - pMin HyperBB für Eintrag i double pMax x.Dimension - pMax HyperBB für Eintrag i int entspr. 4 Bytes - double entspr. 8 Bytes PageSize = (4 * (5 + capacity)) + (capacity + 1) * (dimension * 16)
Field Summary | |
private byte[] |
buffer
|
private boolean |
closed
|
private static int |
EMPTY_PAGE
|
private java.util.Stack |
emptyPages
|
private java.io.RandomAccessFile |
file
|
private java.lang.String |
fileName
|
private static int |
PAGEFILE_VERSION
|
private int |
pageSize
|
Fields inherited from class org.deegree_impl.io.rtree.PageFile |
capacity, dimension, minimum |
Constructor Summary | |
PersistentPageFile(java.lang.String fileName)
Konstruktor für PersistentPageFile. |
Method Summary | |
void |
close()
Closes the pagefile and frees the underlying recourses. |
Node |
deleteNode(int pageNumber)
Markiert einen Knoten in der PageFile als gelöscht. |
void |
finalize()
|
void |
initialize(int dimension,
int capacity)
Initialisiert die PageFile. |
HyperBoundingBox |
readNextHyperBoundingBox(java.io.DataInputStream ds)
|
Node |
readNode(int pageNumber)
Liest einen Knoten aus der PageFile. |
int |
writeNode(Node node)
Schreibt einen Knoten in PageFile. |
Methods inherited from class org.deegree_impl.io.rtree.PageFile |
getCapacity, getDimension, getMinimum |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final int PAGEFILE_VERSION
private static final int EMPTY_PAGE
private java.io.RandomAccessFile file
private java.util.Stack emptyPages
private java.lang.String fileName
private byte[] buffer
private boolean closed
private int pageSize
Constructor Detail |
public PersistentPageFile(java.lang.String fileName)
fileName
- Method Detail |
public void initialize(int dimension, int capacity) throws PageFileException
initialize
in class PageFile
dimension
- der Datencapacity
- Kapazität der Knoten
PageFileException
public Node readNode(int pageNumber) throws PageFileException
PageFile
readNode
in class PageFile
pageNumber
- PageFileNummer, wo Knoten gespeichert ist
PageFileException
PageFile.readNode(int)
public HyperBoundingBox readNextHyperBoundingBox(java.io.DataInputStream ds) throws java.io.IOException
ds
-
java.io.IOException
public int writeNode(Node node) throws PageFileException
PageFile
writeNode
in class PageFile
node
- zu schreibender Knoten
PageFileException
PageFile.writeNode(Node)
public Node deleteNode(int pageNumber) throws PageFileException
PageFile
deleteNode
in class PageFile
pageNumber
- PageFilenummer
PageFileException
PageFile.deleteNode(int)
public void close() throws PageFileException
PageFile
close
in class PageFile
PageFileException
PageFile.close()
public void finalize() throws java.lang.Throwable
java.lang.Throwable
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |