001: /*
002: * $Id: DefaultStopwatchReport.java,v 1.1 2006/03/01 17:48:05 azzazzel Exp $
003: *
004: * Copyright 2006 Commsen International
005: *
006: * Licensed under the Common Public License, Version 1.0 (the "License");
007: * you may not use this file except in compliance with the License.
008: * You may obtain a copy of the License at
009: *
010: * http://www.opensource.org/licenses/cpl1.0.txt
011: *
012: * THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013: * EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS
014: * OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
015: *
016: */
017: package com.commsen.stopwatch.reports;
018:
019: import com.commsen.stopwatch.Report;
020:
021: /**
022: *
023: * This is the default implementation of {@link com.commsen.stopwatch.Report} interface.
024: * It is mainly used by {@link com.commsen.stopwatch.engines.DefaultStopwatchEngine}.
025: *
026: * @see com.commsen.stopwatch.Report
027: * @author Milen Dyankov
028: *
029: */
030: public class DefaultStopwatchReport implements Report {
031:
032: /**
033: *
034: */
035: private static final long serialVersionUID = 1L;
036:
037: private String group;
038: private String label;
039: private long count;
040: private double minTime;
041: private double maxTime;
042: private double averageTime;
043: private double totalTime;
044:
045: /**
046: * Creates new instance of this class.
047: *
048: * @param group
049: * @param label
050: * @param count
051: * @param minTime
052: * @param maxTime
053: * @param averageTime
054: * @param totalTime
055: */
056: public DefaultStopwatchReport(String group, String label,
057: long count, double minTime, double maxTime,
058: double averageTime, double totalTime) {
059: this .group = group;
060: this .label = label;
061: this .count = count;
062: this .minTime = minTime;
063: this .maxTime = maxTime;
064: this .averageTime = averageTime;
065: this .totalTime = totalTime;
066: }
067:
068: /**
069: * Generates string representation of this report
070: * @see java.lang.Object#toString()
071: */
072: public String toString() {
073: return new StringBuffer("Group=\"").append(group).append("\"")
074: .append(" Label=\"").append(label).append("\"")
075: .append(" Count=").append(count).append(" Min=")
076: .append(minTime).append(" Avg=").append(averageTime)
077: .append(" Max=").append(maxTime).append(" Total=")
078: .append(totalTime).toString();
079: }
080:
081: /**
082: * @return Returns the average.
083: * @see Report#getAverageTime()
084: */
085: public double getAverageTime() {
086: return averageTime;
087: }
088:
089: /**
090: * @return Returns the count.
091: * @see Report#getCount()
092: */
093: public long getCount() {
094: return count;
095: }
096:
097: /**
098: * @return Returns the fastest.
099: * @see Report#getMinTime()
100: */
101: public double getMinTime() {
102: return minTime;
103: }
104:
105: /**
106: * @return Returns the group.
107: * @see Report#getGroup()
108: */
109: public String getGroup() {
110: return group;
111: }
112:
113: /**
114: * @return Returns the label.
115: * @see Report#getLabel()
116: */
117: public String getLabel() {
118: return label;
119: }
120:
121: /**
122: * @return Returns the slowest.
123: * @see Report#getMaxTime()
124: */
125: public double getMaxTime() {
126: return maxTime;
127: }
128:
129: /**
130: * @return Returns the total.
131: * @see Report#getTotalTime()
132: */
133: public double getTotalTime() {
134: return totalTime;
135: }
136:
137: }
|