001 /* 002 // $Id: //open/mondrian/src/main/mondrian/rolap/RolapConnectionProperties.java#20 $ 003 // This software is subject to the terms of the Common Public License 004 // Agreement, available at the following URL: 005 // http://www.opensource.org/licenses/cpl.html. 006 // Copyright (C) 2003-2008 Julian Hyde 007 // All Rights Reserved. 008 // You must accept the terms of that agreement to use this software. 009 // 010 // jhyde, Mar 18, 2003 011 */ 012 package mondrian.rolap; 013 014 /** 015 * <code>RolapConnectionProperties</code> enumerates the allowable values of 016 * keywords in a Mondrian connect string. 017 * 018 * <p><b>Note to developers</b>: If you add or modify a connection-string 019 * property, you must also modify the 020 * <a target="_top" href="{@docRoot}/../configuration.html#Connect_string_properties"> 021 * Configuration Specification</a>. 022 * 023 * @version $Id: //open/mondrian/src/main/mondrian/rolap/RolapConnectionProperties.java#20 $ 024 * @author jhyde 025 */ 026 public enum RolapConnectionProperties { 027 /** 028 * The "Provider" property must have the value <code>"Mondrian"</code>. 029 */ 030 Provider, 031 032 /** 033 * The "Jdbc" property is the URL of the JDBC database where the data is 034 * stored. You must specify either {@link #DataSource} or {@link #Jdbc}. 035 */ 036 Jdbc, 037 038 /** 039 * The "JdbcDrivers" property is a comma-separated list of JDBC driver 040 * classes, for example, 041 * <code>"sun.jdbc.odbc.JdbcOdbcDriver,oracle.jdbc.OracleDriver"</code>. 042 */ 043 JdbcDrivers, 044 045 /** 046 * The "JdbcUser" property is the name of the user to log on to the JDBC 047 * database. (You don't need to specify this parameter if it is already 048 * specified in the JDBC URL.) 049 */ 050 JdbcUser, 051 052 /** 053 * The "JdbcPassword" property is the password to log on to the JDBC 054 * database. (You don't need to specify this parameter if it is already 055 * specified in the JDBC URL.) 056 */ 057 JdbcPassword, 058 059 /** 060 * The "Catalog" property is the URL of the catalog, an XML file which 061 * describes the schema: cubes, hierarchies, and so forth. 062 * Catalogs are described in <a target="_top" 063 * href="{@docRoot}/../schema.html">the Schema Guide</a>. 064 * See also {@link #CatalogContent}. 065 */ 066 Catalog, 067 068 /** 069 * The "CatalogContent" property is an XML string representing the schema: 070 * cubes, hierarchies, and so forth. 071 * Catalogs are described in <a target="_top" 072 * href="{@docRoot}/../schema.html">the Schema Guide</a>. 073 * See also {@link #Catalog}. 074 */ 075 CatalogContent, 076 077 /** 078 * The "CatalogName" property is not used. If, in future, we support 079 * multiple catalogs, this property will specify which catalog to use. 080 * See also {@link #Catalog}. 081 */ 082 CatalogName, 083 084 /** 085 * The "DataSource" property is the name of a data source class. It must 086 * implement the {@link javax.sql.DataSource} interface. 087 * You must specify either {@link #DataSource} or {@link #Jdbc}. 088 */ 089 DataSource, 090 091 /** 092 * The "PoolNeeded" property tells Mondrian whether to add a layer of 093 * connection pooling. 094 * 095 * <p>If no value is specified, we assume that:<ul> 096 * <li>connections created via the {@link #Jdbc} property are not pooled, 097 * and therefore need to be pooled, 098 * <li>connections created via the {@link #DataSource} are already pooled. 099 * </ul> 100 */ 101 PoolNeeded, 102 103 /** 104 * The "Role" property is the name of the {@link mondrian.olap.Role role} 105 * to adopt. If not specified, the connection uses a role which has access 106 * to every object in the schema. 107 */ 108 Role, 109 110 /** 111 * Allows to work with dynamically changing schema. If this property is set 112 * to <code>true</code> and schema content has changed (previous checksum 113 * doesn't equal with current), schema would be reloaded. Could be used in 114 * combination with <code>DynamicSchemaProcessor</code> property 115 */ 116 UseContentChecksum, 117 118 /** 119 * The "UseSchemaPool" property disables the schema cache. If false, the 120 * schema is not shared with connections which have a textually identical 121 * schema. Default is "true". 122 */ 123 UseSchemaPool, 124 125 /** 126 * The name of a class implementing the 127 * {@link mondrian.spi.DynamicSchemaProcessor} interface. 128 * A dynamic schema processor is called at runtime in order to modify the 129 * schema content. 130 */ 131 DynamicSchemaProcessor, 132 133 /** 134 * The "Locale" property is the requested Locale for the 135 * LocalizingDynamicSchemaProcessor. Example values are "en", 136 * "en_US", "hu". If Locale is not specified, then the name of system's 137 * default will be used, as per {@link java.util.Locale#getDefault()}. 138 */ 139 Locale, 140 141 /** 142 * The name of a class implementing the 143 * {@link mondrian.spi.DataSourceChangeListener} interface. 144 * A data source change listener is used to flush the cache of 145 * mondrian every time the datasource is changed. 146 */ 147 DataSourceChangeListener, 148 149 /** 150 * The "Ignore" property is a boolean value. If true, mondrian ignores 151 * warnings and non-fatal errors while loading the schema. The resulting 152 * errors can be obtained by calling 153 * {@link mondrian.olap.Schema#getWarnings}. 154 */ 155 Ignore; 156 157 /** 158 * Any property beginning with this value will be added to the 159 * JDBC connection properties, after removing this prefix. This 160 * allows you to specify connection properties without a URL. 161 */ 162 public static final String JdbcPropertyPrefix = "jdbc."; 163 164 } 165 166 // End RolapConnectionProperties.java