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     * @return {@link BasicDataSource#getAbandonedUsageTracking()}
029     */
030    boolean getAbandonedUsageTracking();
031
032    /**
033     * See {@link BasicDataSource#getDefaultAutoCommit()}
034     * @return {@link BasicDataSource#getDefaultAutoCommit()}
035     */
036    Boolean getDefaultAutoCommit();
037
038    /**
039     * See {@link BasicDataSource#getDefaultReadOnly()}
040     * @return {@link BasicDataSource#getDefaultReadOnly()}
041     */
042    Boolean getDefaultReadOnly();
043
044    /**
045     * See {@link BasicDataSource#getDefaultTransactionIsolation()}
046     * @return {@link BasicDataSource#getDefaultTransactionIsolation()}
047     */
048    int getDefaultTransactionIsolation();
049
050    /**
051     * See {@link BasicDataSource#getDefaultCatalog()}
052     * @return {@link BasicDataSource#getDefaultCatalog()}
053     */
054    String getDefaultCatalog();
055
056    /**
057     * See {@link BasicDataSource#getCacheState()}
058     * @return {@link BasicDataSource#getCacheState()}
059     */
060    boolean getCacheState();
061
062    /**
063     * See {@link BasicDataSource#getDriverClassName()}
064     * @return {@link BasicDataSource#getDriverClassName()}
065     */
066    String getDriverClassName();
067
068    /**
069     * See {@link BasicDataSource#getLifo()}
070     * @return {@link BasicDataSource#getLifo()}
071     */
072    boolean getLifo();
073
074    /**
075     * See {@link BasicDataSource#getMaxTotal()}
076     * @return {@link BasicDataSource#getMaxTotal()}
077     */
078    int getMaxTotal();
079
080    /**
081     * See {@link BasicDataSource#getMaxIdle()}
082     * @return {@link BasicDataSource#getMaxIdle()}
083     */
084    int getMaxIdle();
085
086    /**
087     * See {@link BasicDataSource#getMinIdle()}
088     * @return {@link BasicDataSource#getMinIdle()}
089     */
090    int getMinIdle();
091
092    /**
093     * See {@link BasicDataSource#getInitialSize()}
094     * @return {@link BasicDataSource#getInitialSize()}
095     */
096    int getInitialSize();
097
098    /**
099     * See {@link BasicDataSource#getMaxWaitMillis()}
100     * @return {@link BasicDataSource#getMaxWaitMillis()}
101     */
102    long getMaxWaitMillis();
103
104    /**
105     * See {@link BasicDataSource#isPoolPreparedStatements()}
106     * @return {@link BasicDataSource#isPoolPreparedStatements()}
107     */
108    boolean isPoolPreparedStatements();
109
110    /**
111     * See {@link BasicDataSource#getMaxOpenPreparedStatements()}
112     * @return {@link BasicDataSource#getMaxOpenPreparedStatements()}
113     */
114    int getMaxOpenPreparedStatements();
115
116    /**
117     * See {@link BasicDataSource#getTestOnCreate()}
118     * @return {@link BasicDataSource#getTestOnCreate()}
119     */
120    boolean getTestOnCreate();
121
122    /**
123     * See {@link BasicDataSource#getTestOnBorrow()}
124     * @return {@link BasicDataSource#getTestOnBorrow()}
125     */
126    boolean getTestOnBorrow();
127
128    /**
129     * See {@link BasicDataSource#getTimeBetweenEvictionRunsMillis()}
130     * @return {@link BasicDataSource#getTimeBetweenEvictionRunsMillis()}
131     */
132    long getTimeBetweenEvictionRunsMillis();
133
134    /**
135     * See {@link BasicDataSource#getNumTestsPerEvictionRun()}
136     * @return {@link BasicDataSource#getNumTestsPerEvictionRun()}
137     */
138    int getNumTestsPerEvictionRun();
139
140    /**
141     * See {@link BasicDataSource#getMinEvictableIdleTimeMillis()}
142     * @return {@link BasicDataSource#getMinEvictableIdleTimeMillis()}
143     */
144    long getMinEvictableIdleTimeMillis();
145
146    /**
147     * See {@link BasicDataSource#getSoftMinEvictableIdleTimeMillis()}
148     * @return {@link BasicDataSource#getSoftMinEvictableIdleTimeMillis()}
149     */
150    long getSoftMinEvictableIdleTimeMillis();
151
152    /**
153     * See {@link BasicDataSource#getTestWhileIdle()}
154     * @return {@link BasicDataSource#getTestWhileIdle()}
155     */
156    boolean getTestWhileIdle();
157
158    /**
159     * See {@link BasicDataSource#getNumActive()}
160     * @return {@link BasicDataSource#getNumActive()}
161     */
162    int getNumActive();
163
164    /**
165     * See {@link BasicDataSource#getNumIdle()}
166     * @return {@link BasicDataSource#getNumIdle()}
167     */
168    int getNumIdle();
169
170    /**
171     * See {@link BasicDataSource#getPassword()}
172     * @return {@link BasicDataSource#getPassword()}
173     */
174    String getPassword();
175
176    /**
177     * See {@link BasicDataSource#getUrl()}
178     * @return {@link BasicDataSource#getUrl()}
179     */
180    String getUrl();
181
182    /**
183     * See {@link BasicDataSource#getUsername()}
184     * @return {@link BasicDataSource#getUsername()}
185     */
186    String getUsername();
187
188    /**
189     * See {@link BasicDataSource#getValidationQuery()}
190     * @return {@link BasicDataSource#getValidationQuery()}
191     */
192    String getValidationQuery();
193
194    /**
195     * See {@link BasicDataSource#getValidationQueryTimeout()}
196     * @return {@link BasicDataSource#getValidationQueryTimeout()}
197     */
198    int getValidationQueryTimeout();
199
200    /**
201     * See {@link BasicDataSource#getConnectionInitSqlsAsArray()}
202     * @return {@link BasicDataSource#getConnectionInitSqlsAsArray()}
203     */
204    String[] getConnectionInitSqlsAsArray();
205
206    /**
207     * See {@link BasicDataSource#isAccessToUnderlyingConnectionAllowed()}
208     * @return {@link BasicDataSource#isAccessToUnderlyingConnectionAllowed()}
209     */
210    boolean isAccessToUnderlyingConnectionAllowed();
211
212    /**
213     * See {@link BasicDataSource#getMaxConnLifetimeMillis()}
214     * @return {@link BasicDataSource#getMaxConnLifetimeMillis()}
215     */
216    long getMaxConnLifetimeMillis();
217
218    /**
219     * See {@link BasicDataSource#getRemoveAbandonedOnBorrow()}
220     * @return {@link BasicDataSource#getRemoveAbandonedOnBorrow()}
221     */
222    boolean getRemoveAbandonedOnBorrow();
223
224    /**
225     * See {@link BasicDataSource#getRemoveAbandonedOnMaintenance()}
226     * @return {@link BasicDataSource#getRemoveAbandonedOnMaintenance()}
227     */
228    boolean getRemoveAbandonedOnMaintenance();
229
230    /**
231     * See {@link BasicDataSource#getRemoveAbandonedTimeout()}
232     * @return {@link BasicDataSource#getRemoveAbandonedTimeout()}
233     */
234    int getRemoveAbandonedTimeout();
235
236    /**
237     * See {@link BasicDataSource#getLogAbandoned()}
238     * @return {@link BasicDataSource#getLogAbandoned()}
239     */
240    boolean getLogAbandoned();
241
242    /**
243     * See {@link BasicDataSource#isClosed()}
244     * @return {@link BasicDataSource#isClosed()}
245     */
246    boolean isClosed();
247}