View Javadoc

1   package salto.tool.sql;
2   
3   import java.io.Serializable;
4   import java.sql.Connection;
5   
6   import salto.tool.sql.data.CatalogInfo;
7   import salto.tool.sql.data.ShemaInfo;
8   
9   
10  
11  public class ConnectionInfo implements Serializable 
12  {
13  	private String driverJarFile;
14  	private String url;
15  	private String user;
16  	private String pwd;
17  	private String driver;
18  	private String name;
19  	private transient Connection conn;
20  	
21  	private transient CatalogInfo[] catalogInfos;
22  	private transient ShemaInfo[] shemaInfos;
23  	
24  	/***
25  	 * @return Returns the catalogInfos.
26  	 */
27  	public CatalogInfo[] getCatalogInfos() {
28  		if (! isConnected()) return new CatalogInfo[0]; 
29  		if (catalogInfos == null) {
30  			catalogInfos = DatabaseInfo.getCatalogs(this);
31  			if (catalogInfos.length == 0) {
32  				catalogInfos = new CatalogInfo[] {new CatalogInfo(this,"default")};
33  			}
34  		}
35  		return catalogInfos;
36  	}
37  
38  	/***
39  	 * @param catalogInfos The catalogInfos to set.
40  	 */
41  	public void setCatalogInfos(CatalogInfo[] catalogInfos) {
42  		if (catalogInfos == null) catalogInfos = DatabaseInfo.getCatalogs(this);
43  		this.catalogInfos = catalogInfos;
44  	}
45  	
46  	public ConnectionInfo(String driver,String url,String user,String pwd,String name) {
47  		this.driver = driver;
48  		this.url = url;
49  		this.user = user;
50  		this.pwd = pwd;
51  		this.name = name;
52  	}
53  
54  	public ConnectionInfo(String driver,String url,String user,String pwd,String name,String driverJarFile) {
55  		this.driver = driver;
56  		this.url = url;
57  		this.user = user;
58  		this.pwd = pwd;
59  		this.name = name;
60  		this.driverJarFile = driverJarFile;
61  	}
62  	
63  	/***
64  	 * Gets the driver.
65  	 * @return Returns a String
66  	 */
67  	public String getDriver() {
68  		return driver;
69  	}
70  
71  	/***
72  	 * Sets the driver.
73  	 * @param driver The driver to set
74  	 */
75  	public void setDriver(String driver) {
76  		this.driver = driver;
77  	}
78  
79  	/***
80  	 * Gets the pwd.
81  	 * @return Returns a String
82  	 */
83  	public String getPwd() {
84  		return pwd;
85  	}
86  
87  	/***
88  	 * Sets the pwd.
89  	 * @param pwd The pwd to set
90  	 */
91  	public void setPwd(String pwd) {
92  		this.pwd = pwd;
93  	}
94  
95  	/***
96  	 * Gets the url.
97  	 * @return Returns a String
98  	 */
99  	public String getUrl() {
100 		return url;
101 	}
102 
103 	/***
104 	 * Sets the url.
105 	 * @param url The url to set
106 	 */
107 	public void setUrl(String url) {
108 		this.url = url;
109 	}
110 
111 	/***
112 	 * Gets the user.
113 	 * @return Returns a String
114 	 */
115 	public String getUser() {
116 		return user;
117 	}
118 
119 	/***
120 	 * Sets the user.
121 	 * @param user The user to set
122 	 */
123 	public void setUser(String user) {
124 		this.user = user;
125 	}
126 
127 	/***
128 	 * Gets the conn.
129 	 * @return Returns a Connection
130 	 */
131 	public Connection getConn() {
132 		return conn;
133 	}
134 
135 	/***
136 	 * Sets the conn.
137 	 * @param conn The conn to set
138 	 */
139 	public void setConn(Connection conn) {
140 		this.conn = conn;
141 		if (conn == null) shemaInfos = null;
142 	}
143 
144 	/***
145 	 * Gets the name.
146 	 * @return Returns a String
147 	 */
148 	public String getName() {
149 		return name;
150 	}
151 
152 	/***
153 	 * Sets the name.
154 	 * @param name The name to set
155 	 */
156 	public void setName(String name) {
157 		this.name = name;
158 	}
159 
160 	/***
161 	 * Gets the driverJarFile.
162 	 * @return Returns a String
163 	 */
164 	public String getDriverJarFile() {
165 		return driverJarFile;
166 	}
167 
168 	/***
169 	 * Sets the driverJarFile.
170 	 * @param driverJarFile The driverJarFile to set
171 	 */
172 	public void setDriverJarFile(String driverJarFile) {
173 		this.driverJarFile = driverJarFile;
174 	}
175 
176 	/***
177 	 * @see Object#finalize()
178 	 */
179 	protected void finalize() throws Throwable {
180 		try {
181 			conn.close();
182 		} catch (Exception e) {
183 		}
184 	}
185 	
186 	
187 	public boolean isConnected() {
188 		return (conn != null);
189 	}
190 
191 	public ShemaInfo[] getShemaInfos() {
192 		return getShemaInfos(true);
193 	}
194 	/***
195 	 * @return
196 	 */
197 	public ShemaInfo[] getShemaInfos(boolean find) {
198 		if (!isConnected()) return new ShemaInfo[0];
199 		if (find && shemaInfos == null) {
200 			shemaInfos = DatabaseInfo.getShemas(this);
201 			if (shemaInfos.length == 0) {
202 				ShemaInfo info = new ShemaInfo(this);
203 				info.setCatalog("default");
204 				info.setName("default");
205 				shemaInfos = new ShemaInfo[] {info};
206 			}
207 		}
208 		return shemaInfos;
209 	}
210 }