view src/org/dancres/blitz/txn/TransientPersonality.java @ 27:511648fa4d64 Version 2.1

Version to 2.1
author Dan Creswell <dan.creswell@gmail.com>
date Mon, 04 Jan 2010 13:00:40 +0000
parents 3dc0c5604566
children
line wrap: on
line source

package org.dancres.blitz.txn;

import java.io.File;

import java.util.logging.Level;

import org.prevayler.implementation.NullPrevayler;
import org.prevayler.implementation.SnapshotPrevayler;
import org.prevayler.PrevalentSystem;

import org.dancres.blitz.disk.Disk;

class TransientPersonality implements StoragePersonality {
    private String theLogDir;

    TransientPersonality(String aLogDir) {
        theLogDir = aLogDir;

        TxnManager.theLogger.log(Level.INFO, "TransientPersonality");

        destroy();

        Disk.setTransient(true);
        Disk.init();
    }

    public CheckpointTrigger getCheckpointTrigger(Checkpointer aCheckpointer) {
        return new NeverTrigger();
    }

    public SnapshotPrevayler getPrevayler(PrevalentSystem aSystem)
        throws Exception {

        return new NullPrevayler(aSystem);
    }

    public void destroy() {
        Disk.destroy();
        Disk.clean(theLogDir);
    }
}