Mercurial > hg > blitz_stable
view src/org/dancres/blitz/stats/InstanceCount.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.stats; /** <p>Tracks the number of instance of a particular type within a Blitz instance. The instance count accounts for writes and takes but does not account for lease expired entries because the cleanup of lease expired entries is done lazily. Thus the instance counts should be treated as a guide not an exact number.</p> */ public class InstanceCount implements Stat, StatGenerator { private long theId = StatGenerator.UNSET_ID; private String theType; private int theCount; public InstanceCount(String aType, int aCount) { theType = aType; theCount = aCount; } private InstanceCount(long anId, String aType, int aCount) { theId = anId; theType = aType; theCount = aCount; } public void setId(long anId) { theId = anId; } public long getId() { return theId; } public synchronized Stat generate() { InstanceCount myStat = new InstanceCount(theId, theType, theCount); return myStat; } public String getType() { return theType; } public int getCount() { return theCount; } public synchronized void wrote() { ++theCount; } public synchronized void took() { --theCount; } public String toString() { return "Total instance of type " + theType + " is " + theCount; } }