001    /*
002     * Copyright 2014-2015 UnboundID Corp.
003     * All Rights Reserved.
004     */
005    /*
006     * Copyright (C) 2014-2015 UnboundID Corp.
007     *
008     * This program is free software; you can redistribute it and/or modify
009     * it under the terms of the GNU General Public License (GPLv2 only)
010     * or the terms of the GNU Lesser General Public License (LGPLv2.1 only)
011     * as published by the Free Software Foundation.
012     *
013     * This program is distributed in the hope that it will be useful,
014     * but WITHOUT ANY WARRANTY; without even the implied warranty of
015     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
016     * GNU General Public License for more details.
017     *
018     * You should have received a copy of the GNU General Public License
019     * along with this program; if not, see <http://www.gnu.org/licenses>.
020     */
021    package com.unboundid.ldap.sdk;
022    
023    
024    
025    import java.io.Serializable;
026    
027    
028    
029    
030    /**
031     * This class provides a data structure that holds information about the result
032     * of an LDAP connection pool health check.
033     */
034    public final class LDAPConnectionPoolHealthCheckResult
035           implements Serializable
036    {
037      /**
038       * The serial version UID for this serializable class.
039       */
040      private static final long serialVersionUID = -7312002973891471180L;
041    
042    
043    
044      // The number of connections found to be defunct.
045      private final int numDefunct;
046    
047      // The number of connections examined during the health check.
048      private final int numExamined;
049    
050      // The number of connections found to be expired.
051      private final int numExpired;
052    
053    
054    
055      /**
056       * Creates a new health check result with the provided information.
057       *
058       * @param  numExamined  The number of connections examined during the health
059       *                      check.
060       * @param  numExpired   The number of connections found to have been
061       *                      established for longer than the pool's maximum
062       *                      connection age and were attempted to be replaced as
063       *                      expired.
064       * @param  numDefunct   The number of connections found to be invalid and were
065       *                      attempted to be replaced as defunct.
066       */
067      LDAPConnectionPoolHealthCheckResult(final int numExamined,
068                                          final int numExpired,
069                                          final int numDefunct)
070      {
071        this.numExamined = numExamined;
072        this.numExpired  = numExpired;
073        this.numDefunct  = numDefunct;
074      }
075    
076    
077    
078      /**
079       * Retrieves the number of connections that were examined during the health
080       * check.
081       *
082       * @return  The number of connections that were examined during the health
083       *          check.
084       */
085      public int getNumExamined()
086      {
087        return numExamined;
088      }
089    
090    
091    
092      /**
093       * Retrieves the number of connections found to have been established for
094       * longer than the pool's maximum connection age and were attempted to be
095       * replaced as expired.
096       *
097       * @return  The number of connections found to have been established for
098       *          longer than the pool's maximum connection age and were attempted
099       *          to be replaced as expired.
100       */
101      public int getNumExpired()
102      {
103        return numExpired;
104      }
105    
106    
107    
108      /**
109       * Retrieves the number of connections found to be invalid (e.g., because they
110       * were no longer established, or because they failed the health check) and
111       * were attempted to be replaced as defunct.
112       *
113       * @return  The number of connections found to be invalid and were attempted
114       *          to be replaced as defunct.
115       */
116      public int getNumDefunct()
117      {
118        return numDefunct;
119      }
120    
121    
122    
123      /**
124       * Retrieves a string representation of this connection pool health check
125       * result.
126       *
127       * @return  A string representation of this connection pool health check
128       *          result.
129       */
130      @Override()
131      public String toString()
132      {
133        final StringBuilder buffer = new StringBuilder();
134        toString(buffer);
135        return buffer.toString();
136      }
137    
138    
139    
140      /**
141       * Appends a string representation of this connection pool health check result
142       * to the provided buffer.
143       *
144       * @param  buffer  The buffer to which the information should be appended.
145       */
146      public void toString(final StringBuilder buffer)
147      {
148        buffer.append("LDAPConnectionPoolHealthCheckResult(numExamined=");
149        buffer.append(numExamined);
150        buffer.append(", numExpired=");
151        buffer.append(numExpired);
152        buffer.append(", numDefunct=");
153        buffer.append(numDefunct);
154        buffer.append(')');
155      }
156    }