view src/org/dancres/blitz/TxnReapFilter.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;

import org.dancres.blitz.lease.ReapFilter;
import org.dancres.blitz.lease.LeasedResource;

import org.dancres.blitz.entry.EntrySleeve;

import org.dancres.blitz.txnlock.*;

/**
   Blocks collection of EntrySleeve instances which are currently held under
   some sort of transaction lock.
 */
public class TxnReapFilter implements ReapFilter {
    public boolean filter(LeasedResource anObject) {
        if (anObject instanceof EntrySleeve) {
            EntrySleeve mySleeve = (EntrySleeve) anObject;

            LockMgr myMgr = 
                TxnLocks.getLockMgr(mySleeve.getEntry().getType());

            // System.err.println("HasLock: " +
            //                    myMgr.hasActiveLock(mySleeve.getOID()));

            return myMgr.hasActiveLock(mySleeve.getOID());
        }

        // We don't mind if this object is reaped - return "not filtered"
        return false;
    }
}