view src/org/dancres/blitz/meta/RegistryAccessorImpl.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
line wrap: on
line source

package org.dancres.blitz.meta;

import java.io.IOException;
import java.io.Serializable;

import org.dancres.blitz.disk.DiskTxn;

class RegistryAccessorImpl implements RegistryAccessor {
    private DiskTxn theTxn;
    private RegistryImpl theRegistry;

    RegistryAccessorImpl(RegistryImpl aRegistry) {
        this(aRegistry, DiskTxn.getActiveTxn());
    }

    RegistryAccessorImpl(RegistryImpl aRegistry, DiskTxn aTxn) {
        theTxn = aTxn;
        theRegistry = aRegistry;
    }

    public byte[] loadRaw(byte[] aKey) throws IOException {
        return theRegistry.loadRaw(theTxn, aKey);
    }

    public Serializable load(byte[] aKey) throws IOException {
        return theRegistry.load(theTxn, aKey);
    }

    public void save(byte[] aKey, Serializable anObject) throws IOException {
        theRegistry.save(theTxn, aKey, anObject);
    }

    public void delete(byte[] aKey) throws IOException {
        theRegistry.delete(theTxn, aKey);
    }

    public MetaIterator readAll() throws IOException {
        return theRegistry.readAll(theTxn);
    }
}