KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectstyle > cayenne > conn > DataSourceInfo


1 /* ====================================================================
2  *
3  * The ObjectStyle Group Software License, version 1.1
4  * ObjectStyle Group - http://objectstyle.org/
5  *
6  * Copyright (c) 2002-2005, Andrei (Andrus) Adamchik and individual authors
7  * of the software. All rights reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution, if any,
22  * must include the following acknowlegement:
23  * "This product includes software developed by independent contributors
24  * and hosted on ObjectStyle Group web site (http://objectstyle.org/)."
25  * Alternately, this acknowlegement may appear in the software itself,
26  * if and wherever such third-party acknowlegements normally appear.
27  *
28  * 4. The names "ObjectStyle Group" and "Cayenne" must not be used to endorse
29  * or promote products derived from this software without prior written
30  * permission. For written permission, email
31  * "andrus at objectstyle dot org".
32  *
33  * 5. Products derived from this software may not be called "ObjectStyle"
34  * or "Cayenne", nor may "ObjectStyle" or "Cayenne" appear in their
35  * names without prior written permission.
36  *
37  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40  * DISCLAIMED. IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
41  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48  * SUCH DAMAGE.
49  * ====================================================================
50  *
51  * This software consists of voluntary contributions made by many
52  * individuals and hosted on ObjectStyle Group web site. For more
53  * information on the ObjectStyle Group, please see
54  * <http://objectstyle.org/>.
55  */

56
57 package org.objectstyle.cayenne.conn;
58
59 import java.io.Serializable JavaDoc;
60
61 import org.objectstyle.cayenne.util.Util;
62
63 /**
64  * Helper JavaBean class that holds DataSource login information.
65  *
66  * <p><i>For more information see <a HREF="../../../../../../userguide/index.html"
67  * target="_top">Cayenne User Guide.</a></i></p>
68  *
69  * @author Andrei Adamchik
70  */

71 public class DataSourceInfo implements Cloneable JavaDoc, Serializable JavaDoc {
72     protected String JavaDoc userName;
73     protected String JavaDoc password;
74     protected String JavaDoc jdbcDriver;
75     protected String JavaDoc dataSourceUrl;
76     protected String JavaDoc adapterClassName;
77     protected int minConnections = 1;
78     protected int maxConnections = 1;
79
80     public boolean equals(Object JavaDoc obj) {
81         if (obj == this)
82             return true;
83
84         if (obj == null)
85             return false;
86
87         if (obj.getClass() != this.getClass())
88             return false;
89
90         DataSourceInfo dsi = (DataSourceInfo) obj;
91         if (!Util.nullSafeEquals(this.userName, dsi.userName))
92             return false;
93
94         if (!Util.nullSafeEquals(this.password, dsi.password))
95             return false;
96
97         if (!Util.nullSafeEquals(this.jdbcDriver, dsi.jdbcDriver))
98             return false;
99
100         if (!Util.nullSafeEquals(this.dataSourceUrl, dsi.dataSourceUrl))
101             return false;
102
103         if (!Util.nullSafeEquals(this.adapterClassName, dsi.adapterClassName))
104             return false;
105
106         if (this.minConnections != dsi.minConnections)
107             return false;
108
109         if (this.maxConnections != dsi.maxConnections)
110             return false;
111
112         return true;
113     }
114
115     public DataSourceInfo cloneInfo() {
116         try {
117             return (DataSourceInfo) super.clone();
118         } catch (CloneNotSupportedException JavaDoc ex) {
119             throw new RuntimeException JavaDoc("Cloning error", ex);
120         }
121     }
122
123     public String JavaDoc toString() {
124         StringBuffer JavaDoc buf = new StringBuffer JavaDoc();
125         buf
126             .append("[")
127             .append(this.getClass().getName())
128             .append(":")
129             .append("\n user name: ")
130             .append(userName)
131             .append("\n password: ");
132
133         if (password == null)
134             buf.append("null");
135         else
136             buf.append("**********");
137
138         buf
139             .append("\n driver: ")
140             .append(jdbcDriver)
141             .append("\n db adapter class: ")
142             .append(adapterClassName)
143             .append("\n url: ")
144             .append(dataSourceUrl)
145             .append("\n min. connections: ")
146             .append(minConnections)
147             .append("\n max. connections: ")
148             .append(maxConnections)
149             .append("\n]");
150
151         return buf.toString();
152     }
153
154     public String JavaDoc getAdapterClassName() {
155         return adapterClassName;
156     }
157
158     public void setAdapterClassName(String JavaDoc adapterClassName) {
159         this.adapterClassName = adapterClassName;
160     }
161
162     public void setMinConnections(int minConnections) {
163         this.minConnections = minConnections;
164     }
165
166     public int getMinConnections() {
167         return minConnections;
168     }
169
170     public void setMaxConnections(int maxConnections) {
171         this.maxConnections = maxConnections;
172     }
173
174     public int getMaxConnections() {
175         return maxConnections;
176     }
177
178     public void setUserName(String JavaDoc userName) {
179         this.userName = userName;
180     }
181
182     public String JavaDoc getUserName() {
183         return userName;
184     }
185
186     public void setPassword(String JavaDoc password) {
187         this.password = password;
188     }
189
190     public String JavaDoc getPassword() {
191         return password;
192     }
193
194     public void setJdbcDriver(String JavaDoc jdbcDriver) {
195         this.jdbcDriver = jdbcDriver;
196     }
197
198     public String JavaDoc getJdbcDriver() {
199         return jdbcDriver;
200     }
201
202     public void setDataSourceUrl(String JavaDoc dataSourceUrl) {
203         this.dataSourceUrl = dataSourceUrl;
204     }
205
206     public String JavaDoc getDataSourceUrl() {
207         return dataSourceUrl;
208     }
209
210 }
211
Popular Tags