org.rutil.file
Class SerializableObjectsFile<T extends java.io.Serializable>

java.lang.Object
  extended by org.rutil.file.SerializableObjectsFile<T>

public class SerializableObjectsFile<T extends java.io.Serializable>
extends java.lang.Object

A file IO implementation that allows read/write of multiple objects to a single file. It relies on SerializableObjectHandler for serliazation/de-serliazation. Data is stored in binray format and saved in the file in this format: If no handler is set, it uses the internal default: SerializingSerializableHandler, which relies on default java serialization.

Author:
mohan
See Also:
SerializableObjectHandler

Constructor Summary
SerializableObjectsFile(java.lang.String fileName)
           
 
Method Summary
 LongArrayList buildPositionArrayList()
           
 void clear()
           
 void close()
           
 void compact()
           
protected  java.io.RandomAccessFile getReadOnlyFile()
           
 SerializableObjectHandler<T> getValueHandler()
           
 boolean isValid(long position)
           
 T read(long position)
           
 void removeAt(long position)
           
 void setValueHandler(SerializableObjectHandler<T> serializableHandler)
           
 long write(T value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializableObjectsFile

public SerializableObjectsFile(java.lang.String fileName)
Method Detail

buildPositionArrayList

public LongArrayList buildPositionArrayList()

getValueHandler

public SerializableObjectHandler<T> getValueHandler()

setValueHandler

public void setValueHandler(SerializableObjectHandler<T> serializableHandler)

write

public long write(T value)

read

public T read(long position)

isValid

public boolean isValid(long position)

removeAt

public void removeAt(long position)

clear

public void clear()

compact

public void compact()

close

public void close()

getReadOnlyFile

protected java.io.RandomAccessFile getReadOnlyFile()