view src/org/dancres/blitz/entry/ci/FifoCacheLineLocatorImpl.java @ 35:6f68e94c1fb8 default tip

Add CondensedStats monitoring utility, equivalent to vmstat
author Dominic Cleal <dominic-cleal@cdo2.com>
date Thu, 05 Aug 2010 11:07:25 +0100
parents 3dc0c5604566
children
line wrap: on
line source

package org.dancres.blitz.entry.ci;

import java.io.IOException;

import org.dancres.blitz.oid.OID;

import org.dancres.blitz.entry.TupleLocator;

/**
   Used by CacheIndexer.
 */
class FifoCacheLineLocatorImpl implements TupleLocator {
    private Object[] theOIDs;
    private FifoCacheLine theCacheLine;

    private int theIndex = 0;
    private OID theCurrent;

    FifoCacheLineLocatorImpl(Object[] aListOfOIDs, FifoCacheLine aCacheLine) {
        theOIDs = aListOfOIDs;
        theCacheLine = aCacheLine;
    }

    /**
       Invoke this to load the next matching Tuple.

       @return <code>true</code> if there was a tuple, <code>false</code>
       otherwise
     */
    public boolean fetchNext() throws IOException {
        if (theIndex >= theOIDs.length)
            return false;

        theCurrent = (OID) theOIDs[theIndex++];
        return true;
    }

    /**
       @return the OID of the tuple just fetched with
       <code>fetchNext</code>
     */
    public OID getOID() {
        return theCurrent;
    }

    /**
       When you've finished with the TupleLocator instance, call release.
     */
    public void release() throws IOException {
        // System.out.println("Iterated: " + theIndex);
    }
}