package org.jsoftware.fods.jmx; import javax.management.MXBean; import javax.sql.DataSource; /** * MxBean console for FODataSource. * <p> * Allows to manage FoDataSource. * </p> * @author szalik */ @MXBean public interface FoDataSourceConsoleMXBean { /** * @return get name of current {@link DataSource} * @see #getCurrentDatabaseName() */ String getFodsName(); /** * @return get name of current database, <tt>null</tt> means not set. */ String getCurrentDatabaseName(); /** * Change {@link DataSource} index * @param name new database * @return <tt>true</tt> if operation successful. */ boolean forceSetCurrentDatabaseName(String name); /** * Test all {@link DataSource} * @return test report */ String testRaport(); /** * Test single database * @param dbName database name to be tested * @return test result */ boolean test(String dbName); /** * @return all database names */ String[] getDatabaseNames(); /** * Databases statistics or <tt>null</tt> if statistics are disabled. * @return statistics for all databases */ JMXStatistics[] getStatistics(); /** * Turned off databases sholdn't be used. * @param dbName database name * @return <tt>true</tt> if state changed. */ boolean turnOffDatabase(String dbName); /** * Turn on database. * @param dbName database name * @return <tt>true</tt> if state changed. */ boolean turnOnDatabase(String dbName); /** * @param dbName database name * @return current database state, <tt>null</tt> if database not found. */ JMXFodsDbState getCurrentDatabaseState(String dbName); }