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

/**
   Manages operation and instance counters
 */
class CountersImpl implements Counters {
    private OpSwitchListener theOpSwitchListener;
    private InstanceSwitchListener theInstanceSwitchListener;

    CountersImpl(String aType, int anInitialCount) {
        theOpSwitchListener = new OpSwitchListener(aType);
        theInstanceSwitchListener =
            new InstanceSwitchListener(aType, anInitialCount);
    }

    public int getInstanceCount() {
        return theInstanceSwitchListener.getTotal();
    }

    public void didRead() {
        // Reads are only relevant to op counts not instance counts
        theOpSwitchListener.didRead();
    }

    public void didTake() {
        theOpSwitchListener.didTake();
        theInstanceSwitchListener.took();
    }

    public void didWrite() {
        theOpSwitchListener.didWrite();
        theInstanceSwitchListener.wrote();
    }

    public void didPurge() {
        theInstanceSwitchListener.took();
    }

    void destroy() {
        theOpSwitchListener.destroy();
        theInstanceSwitchListener.destroy();
    }
}