E:\home\projects\trilogy\raptor\Clustering\src\com\trilogy\fs\raptor\clustering\Timer.java
|
package com.trilogy.fs.raptor.clustering;
import java.util.ArrayList;
import java.util.List;
/**
* @author <A HREF="mailto:razvan.surdulescu@trilogy.com">Razvan Surdulescu</A>, (C) Trilogy 2003
*/
public class Timer {
private List m_columns = new ArrayList();
private List m_times = new ArrayList();
private boolean m_startFlag;
private long m_startTime;
public void start(String name) {
if (m_startFlag) {
throw new IllegalStateException("Already start()ed: you need to end() first!");
}
m_startFlag = true;
m_columns.add(name);
m_startTime = System.currentTimeMillis();
}
public void end() {
if (!m_startFlag) {
throw new IllegalStateException("Not yet start()ed: you need to start() first!");
}
m_startFlag = false;
m_times.add(new Long(System.currentTimeMillis() - m_startTime));
}
public String toString() {
return toString(true);
}
public String toString(boolean showColumns) {
StringBuffer result = new StringBuffer();
String nl = System.getProperty("line.separator");
if (showColumns) {
for (int i = 0; i < m_times.size(); i++) {
result.append("\"").append(m_columns.get(i)).append("\"").append(",");
}
result.append(nl);
}
for (int i = 0; i < m_times.size(); i++) {
result.append(m_times.get(i)).append(",");
}
return result.toString();
}
}