001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/branches/2.2_testing/src/org/deegree/io/JDBCConnection.java $
002    /*----------------    FILE HEADER  ------------------------------------------
003    
004     This file is part of deegree.
005     Copyright (C) 2001-2008 by:
006     EXSE, Department of Geography, University of Bonn
007     http://www.giub.uni-bonn.de/deegree/
008     lat/lon GmbH
009     http://www.lat-lon.de
010    
011     This library is free software; you can redistribute it and/or
012     modify it under the terms of the GNU Lesser General Public
013     License as published by the Free Software Foundation; either
014     version 2.1 of the License, or (at your option) any later version.
015    
016     This library is distributed in the hope that it will be useful,
017     but WITHOUT ANY WARRANTY; without even the implied warranty of
018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
019     Lesser General Public License for more details.
020    
021     You should have received a copy of the GNU Lesser General Public
022     License along with this library; if not, write to the Free Software
023     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
024    
025     Contact:
026    
027     Andreas Poth
028     lat/lon GmbH
029     Aennchenstraße 19
030     53177 Bonn
031     Germany
032     E-Mail: poth@lat-lon.de
033    
034     Prof. Dr. Klaus Greve
035     Department of Geography
036     University of Bonn
037     Meckenheimer Allee 166
038     53115 Bonn
039     Germany
040     E-Mail: greve@giub.uni-bonn.de
041    
042     ---------------------------------------------------------------------------*/
043    package org.deegree.io;
044    
045    /**
046     * Class representation for an element of type "deegreejdbc:JDBCConnectionType" as defined in
047     * datastore_configuration.xsd.
048     * 
049     * @author <a href="mailto:tfr@users.sourceforge.net">Torsten Friebe </a>
050     * @author last edited by: $Author: apoth $
051     * 
052     * @version $Revision: 9342 $, $Date: 2007-12-27 13:32:57 +0100 (Do, 27 Dez 2007) $
053     * 
054     * @TODO Change the type name!
055     */
056    public class JDBCConnection {
057    
058        private String driver;
059    
060        private String url;
061    
062        private String user;
063    
064        private String password;
065    
066        private String securityConstraints;
067    
068        private String encoding;
069    
070        private String aliasPrefix;
071    
072        private String sdeDatabase;
073    
074        private String sdeVersion;
075    
076        /**
077         * 
078         * @param driver
079         *            JDBC driver
080         * @param url
081         *            JDBC connection string
082         * @param user
083         *            user name
084         * @param password
085         *            users password
086         * @param securityConstraints
087         *            constraints to consider (not implemented yet)
088         * @param encoding
089         *            encoding to be used for connection
090         * @param aliasPrefix ?
091         */
092        public JDBCConnection( String driver, String url, String user, String password, String securityConstraints,
093                               String encoding, String aliasPrefix ) {
094            this( driver, url, user, password, securityConstraints, encoding, aliasPrefix, (String) null, (String) null );
095        }
096    
097        /**
098         * 
099         * @param driver
100         *            JDBC driver
101         * @param url
102         *            JDBC connection string
103         * @param user
104         *            user name
105         * @param password
106         *            users password
107         * @param securityConstraints
108         *            constraints to consider (not implemented yet)
109         * @param encoding
110         *            encoding to be used for connection
111         * @param aliasPrefix ?
112         * @param sdeDatabase
113         * @param sdeVersion
114         */
115        public JDBCConnection( String driver, String url, String user, String password, String securityConstraints,
116                               String encoding, String aliasPrefix, String sdeDatabase, String sdeVersion ) {
117            this.driver = driver;
118            this.url = url;
119            this.user = user;
120            this.password = password;
121            this.securityConstraints = securityConstraints;
122            this.encoding = encoding;
123            this.aliasPrefix = aliasPrefix;
124            this.sdeDatabase = sdeDatabase;
125            this.sdeVersion = sdeVersion;
126        }
127    
128        /**
129         * @return driver
130         */
131        public String getDriver() {
132            return driver;
133        }
134    
135        /**
136         * @return encoding
137         */
138        public String getEncoding() {
139            return encoding;
140        }
141    
142        /**
143         * @return aliasPrefix
144         */
145        public String getAliasPrefix() {
146            return aliasPrefix;
147        }
148    
149        /**
150         * @return url
151         */
152        public String getURL() {
153            return url;
154        }
155    
156        /**
157         * @return password
158         */
159        public String getPassword() {
160            return password;
161        }
162    
163        /**
164         * @return securityConstraints
165         */
166        public String getSecurityConstraints() {
167            return securityConstraints;
168        }
169    
170        /**
171         * @return user
172         */
173        public String getUser() {
174            return user;
175        }
176    
177        /**
178         * @return sdeDatabase
179         */
180        public String getSDEDatabase() {
181            return sdeDatabase;
182        }
183    
184        /**
185         * @return sdeVersion
186         */
187        public String getSDEVersion() {
188            return sdeVersion;
189        }
190    
191        /**
192         * Indicates whether some other object is "equal to" this one.
193         * 
194         * @param o
195         *            the reference object with which to compare
196         * @return <code>true</code> if this object is the same as the obj argument; false otherwise
197         */
198        public boolean equals( Object o ) {
199            if ( !( o instanceof JDBCConnection ) ) {
200                return false;
201            }
202            JDBCConnection that = (JDBCConnection) o;
203            if ( !this.driver.equals( that.driver ) ) {
204                return false;
205            }
206            if ( !this.url.equals( that.url ) ) {
207                return false;
208            }
209            if ( !this.user.equals( that.user ) ) {
210                return false;
211            }
212            return true;
213        }
214    
215        /**
216         * Returns a string representation of the object.
217         * 
218         * @return a string representation of the object
219         */
220        public String toString() {
221            StringBuffer sb = new StringBuffer();
222            sb.append( "Driver: '" );
223            sb.append( this.driver );
224            sb.append( "', URL: '" );
225            sb.append( this.url );
226            sb.append( "', User: '" );
227            sb.append( this.user );
228            return sb.toString();
229        }
230    }