diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/dancres/blitz/entry/CountersImpl.java	Sat Mar 21 11:00:06 2009 +0000
@@ -0,0 +1,43 @@
+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();
+    }
+}