fr.ifremer.isisfish.logging.io
Class FileOffsetReader

java.lang.Object
  extended by fr.ifremer.isisfish.logging.io.OffsetReader
      extended by fr.ifremer.isisfish.logging.io.FileOffsetReader

public class FileOffsetReader
extends OffsetReader

A simple implementation of OffsetReader using a file for dealing with offsets.

The offset of lines are pre-computed in a file offsetFile, generated by createOffsets(LineReader). or createOffsets(LineReader , LineReader).

Author:
chemit

Field Summary
protected static org.apache.commons.logging.Log log
           
protected  java.io.File offsetFile
          offset file to read
protected  java.io.RandomAccessFile offsetReader
          offset file reader
protected  java.io.RandomAccessFile writer
          writer used while creation or update
 
Fields inherited from class fr.ifremer.isisfish.logging.io.OffsetReader
nbLines
 
Constructor Summary
FileOffsetReader(java.io.File file)
           
 
Method Summary
 void close()
          Close the reader
protected  long createOffsets(LineReader lineReader)
           
protected  long createOffsets(LineReader lineReader, LineReader parent)
           
 void deleteOffsetFile()
          delete offset resources
 long getOffset(long position)
          Obtain an offset for a position
protected  boolean needCreate()
           
 void open(LineReader reader)
          Open the reader
protected  void storeOffset(long position, long offset)
          Save the offset of the line for a given position
 java.lang.String toString()
           
 void update(LineReader lineReader)
          Update the reader
 
Methods inherited from class fr.ifremer.isisfish.logging.io.OffsetReader
createOffsetsForLog, getNbLines, isLogEntry, readLine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected static final org.apache.commons.logging.Log log

offsetFile

protected java.io.File offsetFile
offset file to read


offsetReader

protected java.io.RandomAccessFile offsetReader
offset file reader


writer

protected java.io.RandomAccessFile writer
writer used while creation or update

Constructor Detail

FileOffsetReader

public FileOffsetReader(java.io.File file)
Method Detail

getOffset

public long getOffset(long position)
               throws java.io.IOException
Description copied from class: OffsetReader
Obtain an offset for a position

Specified by:
getOffset in class OffsetReader
Parameters:
position - position of the line
Returns:
the offset of the first car of the given line
Throws:
java.io.IOException - todo

open

public void open(LineReader reader)
          throws java.io.IOException
Description copied from class: OffsetReader
Open the reader

Overrides:
open in class OffsetReader
Parameters:
reader - LineReader linked with this reader
Throws:
java.io.IOException - if any problem while opening

close

public void close()
           throws java.io.IOException
Description copied from class: OffsetReader
Close the reader

Overrides:
close in class OffsetReader
Throws:
java.io.IOException - if any problem while closing

update

public void update(LineReader lineReader)
            throws java.io.IOException
Description copied from class: OffsetReader
Update the reader

Overrides:
update in class OffsetReader
Parameters:
lineReader - lineReader linked with this reader
Throws:
java.io.IOException - if any problem while updating

deleteOffsetFile

public void deleteOffsetFile()
Description copied from class: OffsetReader
delete offset resources

Overrides:
deleteOffsetFile in class OffsetReader

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

storeOffset

protected void storeOffset(long position,
                           long offset)
                    throws java.io.IOException
Description copied from class: OffsetReader
Save the offset of the line for a given position

Specified by:
storeOffset in class OffsetReader
Parameters:
position - current line position
offset - current offset of line
Throws:
java.io.IOException - if any problem while storing

needCreate

protected boolean needCreate()
                      throws java.io.IOException
Specified by:
needCreate in class OffsetReader
Returns:
true if the reader need to create his internal datas.
Throws:
java.io.IOException - if any problme while creating

createOffsets

protected long createOffsets(LineReader lineReader)
                      throws java.io.IOException
Overrides:
createOffsets in class OffsetReader
Throws:
java.io.IOException

createOffsets

protected long createOffsets(LineReader lineReader,
                             LineReader parent)
                      throws java.io.IOException
Overrides:
createOffsets in class OffsetReader
Throws:
java.io.IOException


Copyright © 1999-2010 CodeLutin. All Rights Reserved.