001/* 002 * Copyright 2014-2017 UnboundID Corp. 003 * All Rights Reserved. 004 */ 005/* 006 * Copyright (C) 2014-2017 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 */ 021package com.unboundid.ldap.sdk; 022 023 024 025import java.io.Serializable; 026 027import com.unboundid.util.NotMutable; 028import com.unboundid.util.ThreadSafety; 029import com.unboundid.util.ThreadSafetyLevel; 030 031 032 033/** 034 * This class provides a data structure that holds information about the result 035 * of an LDAP connection pool health check. 036 */ 037@NotMutable() 038@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) 039public final class LDAPConnectionPoolHealthCheckResult 040 implements Serializable 041{ 042 /** 043 * The serial version UID for this serializable class. 044 */ 045 private static final long serialVersionUID = -7312002973891471180L; 046 047 048 049 // The number of connections found to be defunct. 050 private final int numDefunct; 051 052 // The number of connections examined during the health check. 053 private final int numExamined; 054 055 // The number of connections found to be expired. 056 private final int numExpired; 057 058 059 060 /** 061 * Creates a new health check result with the provided information. 062 * 063 * @param numExamined The number of connections examined during the health 064 * check. 065 * @param numExpired The number of connections found to have been 066 * established for longer than the pool's maximum 067 * connection age and were attempted to be replaced as 068 * expired. 069 * @param numDefunct The number of connections found to be invalid and were 070 * attempted to be replaced as defunct. 071 */ 072 LDAPConnectionPoolHealthCheckResult(final int numExamined, 073 final int numExpired, 074 final int numDefunct) 075 { 076 this.numExamined = numExamined; 077 this.numExpired = numExpired; 078 this.numDefunct = numDefunct; 079 } 080 081 082 083 /** 084 * Retrieves the number of connections that were examined during the health 085 * check. 086 * 087 * @return The number of connections that were examined during the health 088 * check. 089 */ 090 public int getNumExamined() 091 { 092 return numExamined; 093 } 094 095 096 097 /** 098 * Retrieves the number of connections found to have been established for 099 * longer than the pool's maximum connection age and were attempted to be 100 * replaced as expired. 101 * 102 * @return The number of connections found to have been established for 103 * longer than the pool's maximum connection age and were attempted 104 * to be replaced as expired. 105 */ 106 public int getNumExpired() 107 { 108 return numExpired; 109 } 110 111 112 113 /** 114 * Retrieves the number of connections found to be invalid (e.g., because they 115 * were no longer established, or because they failed the health check) and 116 * were attempted to be replaced as defunct. 117 * 118 * @return The number of connections found to be invalid and were attempted 119 * to be replaced as defunct. 120 */ 121 public int getNumDefunct() 122 { 123 return numDefunct; 124 } 125 126 127 128 /** 129 * Retrieves a string representation of this connection pool health check 130 * result. 131 * 132 * @return A string representation of this connection pool health check 133 * result. 134 */ 135 @Override() 136 public String toString() 137 { 138 final StringBuilder buffer = new StringBuilder(); 139 toString(buffer); 140 return buffer.toString(); 141 } 142 143 144 145 /** 146 * Appends a string representation of this connection pool health check result 147 * to the provided buffer. 148 * 149 * @param buffer The buffer to which the information should be appended. 150 */ 151 public void toString(final StringBuilder buffer) 152 { 153 buffer.append("LDAPConnectionPoolHealthCheckResult(numExamined="); 154 buffer.append(numExamined); 155 buffer.append(", numExpired="); 156 buffer.append(numExpired); 157 buffer.append(", numDefunct="); 158 buffer.append(numDefunct); 159 buffer.append(')'); 160 } 161}