package jeffaschenk.commons.frameworks.cnxidx.utility.ldap;
/**
* Java Class for accumulating Status and Statistics among various
* JNDI Functions and Class.
*
* @author jeff.schenk
* @version 1.0 $Revision
* Developed 2001
*/
public class idxElapsedTime {
private long start = 0; // Start Time in Milliseconds.
private long end = 0; // End Time in Milliseconds.
private long duration = 0; // Duration Time in Milliseconds.
/**
* Provides Common Constructor for Calculating Elapsed Time.
* Automatically Sets the Start Time.
*/
public idxElapsedTime() {
start = System.currentTimeMillis();
} // End of idxStatus Constructor.
/**
* Set Current Time as Start Time.
*/
public void setStart() {
start = System.currentTimeMillis();
} // End of setStart Method.
/**
* Set Current Time as End Time.
*/
public void setEnd() {
end = System.currentTimeMillis();
duration = (end - start);
} // End of setEnd Method.
/**
* Get Last Operation
*/
public long getDurationMillis() {
duration = (end - start);
return (duration);
} // End of getDurationMillis Method.
/**
* Get Elapsed Timing in String Form.
*/
public String getElapsed() {
long hours;
long minutes;
long seconds;
// **************************************
// First Convert Duration into Seconds.
long timeInSeconds = getDurationMillis() / 1000;
if (timeInSeconds <= 0) {
return (getDurationMillis() + " ms");
}
// *****************************
// Now Convert the seconds.
hours = timeInSeconds / 3600;
timeInSeconds = timeInSeconds - (hours * 3600);
minutes = timeInSeconds / 60;
timeInSeconds = timeInSeconds - (minutes * 60);
seconds = timeInSeconds;
if (hours > 0) {
return (hours + " hour(s), " +
minutes + " minute(s), " +
seconds + " second(s)");
} else if (minutes > 0) {
return (minutes + " minute(s), " +
seconds + " second(s)");
} else {
return (seconds + " second(s)");
}
} // End of getElapsed Method Class.
} ///:~ End of idxElaspedTime Class.