org.jboss.messaging.core.journal.impl
Class AbstractSequentialFactory

java.lang.Object
  extended by org.jboss.messaging.core.journal.impl.AbstractSequentialFactory
All Implemented Interfaces:
SequentialFileFactory
Direct Known Subclasses:
AIOSequentialFileFactory, NIOSequentialFileFactory

public abstract class AbstractSequentialFactory
extends java.lang.Object
implements SequentialFileFactory

An abstract SequentialFileFactory containing basic functionality for both AIO and NIO SequentialFactories

Author:
Tim Fox, Clebert Suconic

Field Summary
protected  java.lang.String journalDir
           
 
Constructor Summary
AbstractSequentialFactory(java.lang.String journalDir)
           
 
Method Summary
 void activate(SequentialFile file)
          The factory may need to do some initialization before the file is activated.
 void controlBuffersLifeCycle(boolean value)
           
 void createDirs()
          Create the directory if it doesn't exist yet
 void deactivate(SequentialFile file)
           
 java.util.List<java.lang.String> listFiles(java.lang.String extension)
           
 void releaseBuffer(java.nio.ByteBuffer buffer)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.messaging.core.journal.SequentialFileFactory
calculateBlockSize, clearBuffer, createSequentialFile, getAlignment, isSupportsCallbacks, newBuffer, wrapBuffer
 

Field Detail

journalDir

protected final java.lang.String journalDir
Constructor Detail

AbstractSequentialFactory

public AbstractSequentialFactory(java.lang.String journalDir)
Method Detail

controlBuffersLifeCycle

public void controlBuffersLifeCycle(boolean value)
Specified by:
controlBuffersLifeCycle in interface SequentialFileFactory

stop

public void stop()
Specified by:
stop in interface SequentialFileFactory

start

public void start()
Specified by:
start in interface SequentialFileFactory

activate

public void activate(SequentialFile file)
Description copied from interface: SequentialFileFactory
The factory may need to do some initialization before the file is activated. this was added as a hook for AIO to initialize the Observer on TimedBuffer. It could be eventually done the same on NIO if we implement TimedBuffer on NIO

Specified by:
activate in interface SequentialFileFactory

releaseBuffer

public void releaseBuffer(java.nio.ByteBuffer buffer)
Specified by:
releaseBuffer in interface SequentialFileFactory

deactivate

public void deactivate(SequentialFile file)
Specified by:
deactivate in interface SequentialFileFactory

createDirs

public void createDirs()
                throws java.lang.Exception
Create the directory if it doesn't exist yet

Specified by:
createDirs in interface SequentialFileFactory
Throws:
java.lang.Exception

listFiles

public java.util.List<java.lang.String> listFiles(java.lang.String extension)
                                           throws java.lang.Exception
Specified by:
listFiles in interface SequentialFileFactory
Throws:
java.lang.Exception


Copyright © 2006 JBoss Inc. All Rights Reserved.