1 /** 2 * com.mckoi.dbcontrol.DBConfig 27 Mar 2002 3 * 4 * Mckoi SQL Database ( http://www.mckoi.com/database ) 5 * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * Version 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License Version 2 for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * Version 2 along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 * 20 * Change Log: 21 * 22 * 23 */ 24 25 package com.mckoi.database.control; 26 27 import java.io.File; 28 29 /** 30 * A container object of configuration details of a database system. This 31 * object can be used to programmatically setup configuration properies 32 * in a database system. 33 * 34 * @author Tobias Downer 35 */ 36 37 public interface DBConfig { 38 39 /** 40 * Returns the current path set for this configuration. This is 41 * useful if the configuration is based on a configuration file that has 42 * path references relative to the configuration file. In this case, 43 * the path returned here would be the path to the configuration 44 * file. 45 */ 46 File currentPath(); 47 48 /** 49 * Returns the value that was set for the configuration property with the 50 * given name. 51 * <p> 52 * This method must always returns a value that the database engine can use 53 * provided the 'property_key' is a supported key. If the property key 54 * is not supported and the key was not set, null is returned. 55 */ 56 String getValue(String property_key); 57 58 /** 59 * Makes an immutable copy of this configuration. 60 */ 61 DBConfig immutableCopy(); 62 63 } 64