001: /*
002: Copyright (C) 2002-2004 MySQL AB
003:
004: This program is free software; you can redistribute it and/or modify
005: it under the terms of version 2 of the GNU General Public License as
006: published by the Free Software Foundation.
007:
008: There are special exceptions to the terms and conditions of the GPL
009: as it is applied to this software. View the full text of the
010: exception in file EXCEPTIONS-CONNECTOR-J in the directory of this
011: software distribution.
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, write to the Free Software
020: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021:
022:
023:
024: */
025: package com.mysql.jdbc;
026:
027: import java.sql.SQLException;
028:
029: import java.util.Properties;
030:
031: /**
032: * Utility functions for admin functionality from Java.
033: *
034: * @author Mark Matthews
035: */
036: public class MiniAdmin {
037: // ~ Instance fields
038: // --------------------------------------------------------
039:
040: private Connection conn;
041:
042: // ~ Constructors
043: // -----------------------------------------------------------
044:
045: /**
046: * Create a new MiniAdmin using the given connection
047: *
048: * @param conn
049: * the existing connection to use.
050: *
051: * @throws SQLException
052: * if an error occurs
053: */
054: public MiniAdmin(java.sql.Connection conn) throws SQLException {
055: if (conn == null) {
056: throw SQLError
057: .createSQLException(
058: Messages.getString("MiniAdmin.0"), SQLError.SQL_STATE_GENERAL_ERROR); //$NON-NLS-1$
059: }
060:
061: if (!(conn instanceof Connection)) {
062: throw SQLError.createSQLException(Messages
063: .getString("MiniAdmin.1"), //$NON-NLS-1$
064: SQLError.SQL_STATE_GENERAL_ERROR);
065: }
066:
067: this .conn = (Connection) conn;
068: }
069:
070: /**
071: * Create a new MiniAdmin, connecting using the given JDBC URL.
072: *
073: * @param jdbcUrl
074: * the JDBC URL to use
075: *
076: * @throws SQLException
077: * if an error occurs
078: */
079: public MiniAdmin(String jdbcUrl) throws SQLException {
080: this (jdbcUrl, new Properties());
081: }
082:
083: /**
084: * Create a new MiniAdmin, connecting using the given JDBC URL and
085: * properties
086: *
087: * @param jdbcUrl
088: * the JDBC URL to use
089: * @param props
090: * the properties to use when connecting
091: *
092: * @throws SQLException
093: * if an error occurs
094: */
095: public MiniAdmin(String jdbcUrl, Properties props)
096: throws SQLException {
097: this .conn = (Connection) (new Driver().connect(jdbcUrl, props));
098: }
099:
100: // ~ Methods
101: // ----------------------------------------------------------------
102:
103: /**
104: * Shuts down the MySQL server at the other end of the connection that this
105: * MiniAdmin was created from/for.
106: *
107: * @throws SQLException
108: * if an error occurs
109: */
110: public void shutdown() throws SQLException {
111: this.conn.shutdownServer();
112: }
113: }
|