jeroen.io
Class RandomAccessDatabase

java.lang.Object
  |
  +--java.util.AbstractCollection
        |
        +--java.util.AbstractList
              |
              +--jeroen.io.RandomAccessDatabase
All Implemented Interfaces:
Collection, List

public class RandomAccessDatabase
extends AbstractList

Een klasse die Objecten sequentieel naar schijf kan schrijven, en RandomAccess van schijf kan lezen.


Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
RandomAccessDatabase(File file)
          Opent een database om naar te schrijven.
RandomAccessDatabase(File file, Class type)
          Met deze constructor maak je een list waarvan je films kunt opvragen, die eventueel nog op de harde schijf staan.
RandomAccessDatabase(File file, Class type, int cacheMode)
          Met deze constructor maak je een list waarvan je films kunt opvragen, die eventueel nog op de harde schijf staan.
 
Method Summary
 boolean add(Object o)
          Alleen LeesSchrijfbaar-objecten mogen toegevoegd worden.
 void close()
          Database is niet geldig totdat deze methode aangeroepen wordt!!!
 Object get(int index)
          Lees een Object uit de database.
 Iterator iterator()
          Geef een iterator waarmee je alle Objecten uit de database kunt halen.
 int size()
           
 String toString()
           
 
Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 

Constructor Detail

RandomAccessDatabase

public RandomAccessDatabase(File file)
                     throws IOException
Opent een database om naar te schrijven.

RandomAccessDatabase

public RandomAccessDatabase(File file,
                            Class type)
                     throws IOException
Met deze constructor maak je een list waarvan je films kunt opvragen, die eventueel nog op de harde schijf staan. Alle objecten worden verwacht van het type 'type' te zijn. Dat type moet een constructor hebben met als enige argument een DataInput. De cache is de default: SOFTCACHE

RandomAccessDatabase

public RandomAccessDatabase(File file,
                            Class type,
                            int cacheMode)
                     throws IOException
Met deze constructor maak je een list waarvan je films kunt opvragen, die eventueel nog op de harde schijf staan. Alle objecten worden verwacht van het type 'type' te zijn. Dat type moet een constructor hebben met als enige argument een DataInput. De Objecten worden gecached zoals opgegeven aan cacheMode (zie ListCache)
Method Detail

toString

public String toString()
Overrides:
toString in class AbstractCollection

size

public int size()
Overrides:
size in class AbstractCollection

get

public Object get(int index)
Lees een Object uit de database. Wordt gecached. Als het Object de interface Indexed ondersteuned, wordt die index juist ingesteld. Als je alle Objecten achtereenvolgens wilt hebben, kun je veel beter iterator() gebruiken.
Overrides:
get in class AbstractList
See Also:
iterator(), ListCache, Indexed

iterator

public Iterator iterator()
Geef een iterator waarmee je alle Objecten uit de database kunt halen. Zolang de iterator in gebruik is, mag je get() niet gebruiken!! Schakelt caching en zo uit, omdat dat bij een iteratie toch geen zin heeft. Dit is de aanbevolen methode als je alles nodig hebt (zoals bij het maken van een keywordindex). Als een Object de interface Indexed ondersteuned, wordt die index juist ingesteld.
Overrides:
iterator in class AbstractList

add

public boolean add(Object o)
Alleen LeesSchrijfbaar-objecten mogen toegevoegd worden.
Overrides:
add in class AbstractList
Throws:
ClassCastException - als o LeesSchrijfbaar niet implementeert.
UnsupportedOperationException - als deze database niet in 'create' mode staat.
DatabaseException - als een onverwachte I/O-fout optreedt.

close

public void close()
           throws IOException
Database is niet geldig totdat deze methode aangeroepen wordt!!!
Throws:
UnsupportedOperationException - als deze database niet in 'create' mode staat.
IOException - tsja, dat kan van alles zijn...