/* XXL: The eXtensible and fleXible Library for data processing
Copyright (C) 2000-2011 Prof. Dr. Bernhard Seeger
Head of the Database Research Group
Department of Mathematics and Computer Science
University of Marburg
Germany
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; If not, see <http://www.gnu.org/licenses/>.
http://code.google.com/p/xxl/
*/
package xxl.core.io;
/**
* This class provides a simple utility for counting I/Os. It contains two
* counters for read and write operations and a sole method to reset the
* counters.
*/
public class IOCounter {
/**
* A counter for read operations.
*/
public int readIO = 0;
/**
* A counter for write operations.
*/
public int writeIO = 0;
/**
* Constructs a new IOCounter.
*/
public IOCounter () {}
/**
* Resets the counters for read and write operations. In other words
* the counters <tt>readIO</tt> and <tt>writeIO</tt> will be equal to
* <tt>0</tt> after a call to this method.
*/
public void reset () {
readIO = 0;
writeIO = 0;
}
/** Increase readIOs.
*/
public void incRead(){
readIO++;
}
/** Increase writeIOs.
*/
public void incWrite(){
writeIO++;
}
/** Returns readIO.
* @return The number of read i/o's.
*/
public int getReadIO(){
return readIO;
}
/** Returns writeIO.
* @return The number of write i/o's.
*/
public int getWriteIO(){
return writeIO;
}
/** Returns a string containing readIOs and writeIOs as well as their sum.
* @return the String representation.
*/
public String toString () {
return (readIO+writeIO)+"\t (read: "+readIO+"\t written: "+writeIO+")";
}
}