001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2 of the License, or (at your option) any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: *
020: * Release: 1.0
021: *
022: * Author: Eric HARDESTY
023: * --------------------------------------------------------------------------
024: * $Id:PoolItemStats.java
025: * --------------------------------------------------------------------------
026: *
027: */package org.objectweb.jonas.resource.pool.api;
028:
029: /** <p>This class holds information about each pool entry.
030: *
031: * @author Eric Hardesty
032: **/
033: public class PoolItemStats {
034:
035: /**
036: * Max age timeout of the pool item
037: */
038: private long maxAgeTimeout = 0L;
039: /**
040: * Max open timeout of the pool item
041: */
042: private long maxOpenTimeout = 0L;
043: /**
044: * Start time of the pool item
045: */
046: private long startTime = 0L;
047: /**
048: * Total connection time of the pool item
049: */
050: private long totalConnectionTime = 0L;
051:
052: /**
053: * number of uses
054: */
055: private int uses = 0;
056:
057: /**
058: * Default Constructor
059: */
060: public PoolItemStats() {
061: }
062:
063: /**
064: * Get the max age timeout
065: * @return long max age timeout
066: */
067: public long getMaxAgeTimeout() {
068: return maxAgeTimeout;
069: }
070:
071: /**
072: * Set the max age timeout
073: * @param pTime long max age timeout
074: */
075: public void setMaxAgeTimeout(long pTime) {
076: maxAgeTimeout = pTime;
077: }
078:
079: /**
080: * Get the max open timeout
081: * @return long max open timeout
082: */
083: public long getMaxOpenTimeout() {
084: return maxOpenTimeout;
085: }
086:
087: /**
088: * Set the max open timeout
089: * @param pTime long max open timeout
090: */
091: public void setMaxOpenTimeout(long pTime) {
092: maxOpenTimeout = pTime;
093: }
094:
095: /**
096: * Get the start time
097: * @return long start time
098: */
099: public long getStartTime() {
100: return startTime;
101: }
102:
103: /**
104: * Set the start time
105: * @param pTime long start time
106: */
107: public void setStartTime(long pTime) {
108: startTime = pTime;
109: }
110:
111: /**
112: * Get the total connection time
113: * @return long total connection time
114: */
115: public long getTotalConnectionTime() {
116: return totalConnectionTime;
117: }
118:
119: /**
120: * Set the total connection time
121: * @param pTime long total connection time
122: */
123: public void setTotalConnectionTime(long pTime) {
124: totalConnectionTime += pTime;
125: }
126:
127: /**
128: * Get the number of uses
129: * @return int number of uses
130: */
131: public int getUses() {
132: return uses;
133: }
134:
135: /**
136: * Increment the number of uses
137: */
138: public void incrementUses() {
139: uses++;
140: }
141:
142: /**
143: * String representing this object
144: * @return String representing the object
145: */
146: public String toString() {
147: String out = "MaxAgeTimeout = " + maxAgeTimeout
148: + "\nMaxOpenTimeout = " + maxOpenTimeout
149: + "\nStartTime = " + startTime
150: + "\nTotalConnectionTime = " + totalConnectionTime
151: + "\nUses = " + uses;
152: return out;
153: }
154:
155: }
|