001 /*
002 // $Id: //open/mondrian-release/3.0/src/main/mondrian/rolap/RolapConnectionProperties.java#4 $
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-2007 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}/../../documentation/configuration.php#Connect_string_properties">
021 * Configuration Specification</a>.
022 *
023 * @version $Id: //open/mondrian-release/3.0/src/main/mondrian/rolap/RolapConnectionProperties.java#4 $
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}/../../documentation/schema.php">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}/../../documentation/schema.php">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