001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.commons.dbcp2;
018
019/**
020 * Defines the methods that will be made available via JMX.
021 *
022 * @since 2.0
023 */
024public interface BasicDataSourceMXBean {
025
026    /**
027     * See {@link BasicDataSource#getAbandonedUsageTracking()}
028     *
029     * @return {@link BasicDataSource#getAbandonedUsageTracking()}
030     */
031    boolean getAbandonedUsageTracking();
032
033    /**
034     * See {@link BasicDataSource#getDefaultAutoCommit()}
035     *
036     * @return {@link BasicDataSource#getDefaultAutoCommit()}
037     */
038    Boolean getDefaultAutoCommit();
039
040    /**
041     * See {@link BasicDataSource#getDefaultReadOnly()}
042     *
043     * @return {@link BasicDataSource#getDefaultReadOnly()}
044     */
045    Boolean getDefaultReadOnly();
046
047    /**
048     * See {@link BasicDataSource#getDefaultTransactionIsolation()}
049     *
050     * @return {@link BasicDataSource#getDefaultTransactionIsolation()}
051     */
052    int getDefaultTransactionIsolation();
053
054    /**
055     * See {@link BasicDataSource#getDefaultCatalog()}
056     *
057     * @return {@link BasicDataSource#getDefaultCatalog()}
058     */
059    String getDefaultCatalog();
060
061    /**
062     * See {@link BasicDataSource#getDefaultSchema()}
063     *
064     * @return {@link BasicDataSource#getDefaultSchema()}
065     * @since 2.5.0
066     */
067    default String getDefaultSchema() {
068        return null;
069    }
070
071    /**
072     * See {@link BasicDataSource#getCacheState()}
073     *
074     * @return {@link BasicDataSource#getCacheState()}
075     */
076    boolean getCacheState();
077
078    /**
079     * See {@link BasicDataSource#getDriverClassName()}
080     *
081     * @return {@link BasicDataSource#getDriverClassName()}
082     */
083    String getDriverClassName();
084
085    /**
086     * See {@link BasicDataSource#getLifo()}
087     *
088     * @return {@link BasicDataSource#getLifo()}
089     */
090    boolean getLifo();
091
092    /**
093     * See {@link BasicDataSource#getMaxTotal()}
094     *
095     * @return {@link BasicDataSource#getMaxTotal()}
096     */
097    int getMaxTotal();
098
099    /**
100     * See {@link BasicDataSource#getMaxIdle()}
101     *
102     * @return {@link BasicDataSource#getMaxIdle()}
103     */
104    int getMaxIdle();
105
106    /**
107     * See {@link BasicDataSource#getMinIdle()}
108     *
109     * @return {@link BasicDataSource#getMinIdle()}
110     */
111    int getMinIdle();
112
113    /**
114     * See {@link BasicDataSource#getInitialSize()}
115     *
116     * @return {@link BasicDataSource#getInitialSize()}
117     */
118    int getInitialSize();
119
120    /**
121     * See {@link BasicDataSource#getMaxWaitMillis()}
122     *
123     * @return {@link BasicDataSource#getMaxWaitMillis()}
124     */
125    long getMaxWaitMillis();
126
127    /**
128     * See {@link BasicDataSource#isPoolPreparedStatements()}
129     *
130     * @return {@link BasicDataSource#isPoolPreparedStatements()}
131     */
132    boolean isPoolPreparedStatements();
133
134    /**
135     * See {@link BasicDataSource#getMaxOpenPreparedStatements()}
136     *
137     * @return {@link BasicDataSource#getMaxOpenPreparedStatements()}
138     */
139    int getMaxOpenPreparedStatements();
140
141    /**
142     * See {@link BasicDataSource#getTestOnCreate()}
143     *
144     * @return {@link BasicDataSource#getTestOnCreate()}
145     */
146    boolean getTestOnCreate();
147
148    /**
149     * See {@link BasicDataSource#getTestOnBorrow()}
150     *
151     * @return {@link BasicDataSource#getTestOnBorrow()}
152     */
153    boolean getTestOnBorrow();
154
155    /**
156     * See {@link BasicDataSource#getTimeBetweenEvictionRunsMillis()}
157     *
158     * @return {@link BasicDataSource#getTimeBetweenEvictionRunsMillis()}
159     */
160    long getTimeBetweenEvictionRunsMillis();
161
162    /**
163     * See {@link BasicDataSource#getNumTestsPerEvictionRun()}
164     *
165     * @return {@link BasicDataSource#getNumTestsPerEvictionRun()}
166     */
167    int getNumTestsPerEvictionRun();
168
169    /**
170     * See {@link BasicDataSource#getMinEvictableIdleTimeMillis()}
171     *
172     * @return {@link BasicDataSource#getMinEvictableIdleTimeMillis()}
173     */
174    long getMinEvictableIdleTimeMillis();
175
176    /**
177     * See {@link BasicDataSource#getSoftMinEvictableIdleTimeMillis()}
178     *
179     * @return {@link BasicDataSource#getSoftMinEvictableIdleTimeMillis()}
180     */
181    long getSoftMinEvictableIdleTimeMillis();
182
183    /**
184     * See {@link BasicDataSource#getTestWhileIdle()}
185     *
186     * @return {@link BasicDataSource#getTestWhileIdle()}
187     */
188    boolean getTestWhileIdle();
189
190    /**
191     * See {@link BasicDataSource#getNumActive()}
192     *
193     * @return {@link BasicDataSource#getNumActive()}
194     */
195    int getNumActive();
196
197    /**
198     * See {@link BasicDataSource#getNumIdle()}
199     *
200     * @return {@link BasicDataSource#getNumIdle()}
201     */
202    int getNumIdle();
203
204    /**
205     * See {@link BasicDataSource#getPassword()}
206     *
207     * @return {@link BasicDataSource#getPassword()}
208     */
209    String getPassword();
210
211    /**
212     * See {@link BasicDataSource#getUrl()}
213     *
214     * @return {@link BasicDataSource#getUrl()}
215     */
216    String getUrl();
217
218    /**
219     * See {@link BasicDataSource#getUsername()}
220     *
221     * @return {@link BasicDataSource#getUsername()}
222     */
223    String getUsername();
224
225    /**
226     * See {@link BasicDataSource#getValidationQuery()}
227     *
228     * @return {@link BasicDataSource#getValidationQuery()}
229     */
230    String getValidationQuery();
231
232    /**
233     * See {@link BasicDataSource#getValidationQueryTimeout()}
234     *
235     * @return {@link BasicDataSource#getValidationQueryTimeout()}
236     */
237    int getValidationQueryTimeout();
238
239    /**
240     * See {@link BasicDataSource#getConnectionInitSqlsAsArray()}
241     *
242     * @return {@link BasicDataSource#getConnectionInitSqlsAsArray()}
243     */
244    String[] getConnectionInitSqlsAsArray();
245
246    /**
247     * See {@link BasicDataSource#isAccessToUnderlyingConnectionAllowed()}
248     *
249     * @return {@link BasicDataSource#isAccessToUnderlyingConnectionAllowed()}
250     */
251    boolean isAccessToUnderlyingConnectionAllowed();
252
253    /**
254     * See {@link BasicDataSource#getMaxConnLifetimeMillis()}
255     *
256     * @return {@link BasicDataSource#getMaxConnLifetimeMillis()}
257     */
258    long getMaxConnLifetimeMillis();
259
260    /**
261     * See {@link BasicDataSource#getLogExpiredConnections()}
262     *
263     * @return {@link BasicDataSource#getLogExpiredConnections()}
264     * @since 2.1
265     */
266    boolean getLogExpiredConnections();
267
268    /**
269     * See {@link BasicDataSource#getRemoveAbandonedOnBorrow()}
270     *
271     * @return {@link BasicDataSource#getRemoveAbandonedOnBorrow()}
272     */
273    boolean getRemoveAbandonedOnBorrow();
274
275    /**
276     * See {@link BasicDataSource#getRemoveAbandonedOnMaintenance()}
277     *
278     * @return {@link BasicDataSource#getRemoveAbandonedOnMaintenance()}
279     */
280    boolean getRemoveAbandonedOnMaintenance();
281
282    /**
283     * See {@link BasicDataSource#getRemoveAbandonedTimeout()}
284     *
285     * @return {@link BasicDataSource#getRemoveAbandonedTimeout()}
286     */
287    int getRemoveAbandonedTimeout();
288
289    /**
290     * See {@link BasicDataSource#getLogAbandoned()}
291     *
292     * @return {@link BasicDataSource#getLogAbandoned()}
293     */
294    boolean getLogAbandoned();
295
296    /**
297     * See {@link BasicDataSource#isClosed()}
298     *
299     * @return {@link BasicDataSource#isClosed()}
300     */
301    boolean isClosed();
302
303    /**
304     * See {@link BasicDataSource#getFastFailValidation()}
305     *
306     * @return {@link BasicDataSource#getFastFailValidation()}
307     * @since 2.1
308     */
309    boolean getFastFailValidation();
310
311    /**
312     * See {@link BasicDataSource#getDisconnectionSqlCodesAsArray()}
313     *
314     * @return {@link BasicDataSource#getDisconnectionSqlCodesAsArray()}
315     * @since 2.1
316     */
317    String[] getDisconnectionSqlCodesAsArray();
318}