View Javadoc

1   package net.sourceforge.addam.util;
2   
3   
4   import java.util.List;
5   import java.util.ArrayList;
6   import java.sql.Connection;
7   import java.sql.DatabaseMetaData;
8   import java.sql.ResultSet;
9   import java.sql.SQLException;
10  
11  import net.sourceforge.addam.ddlgen.GeneratorSpec;
12  
13  /**
14   * Created by IntelliJ IDEA.
15   * User: TIM3
16   * Date: Oct 27, 2006
17   * Time: 11:59:34 PM
18   * To change this template use File | Settings | File Templates.
19   */
20  public class DatabaseMetaDataUtil {
21  
22      public static List<String> getTables(String catalog, String schema, Connection connection) throws SQLException {
23  
24          DatabaseMetaData metadata = connection.getMetaData();
25          if (metadata.storesUpperCaseIdentifiers()) {
26              catalog = (catalog == null) ? null : catalog.toUpperCase();
27              schema = (schema == null) ? null : schema.toUpperCase();
28          } else if (metadata.storesLowerCaseIdentifiers()) {
29              catalog = (catalog == null) ? null : catalog.toLowerCase();
30              schema = (schema == null) ? null : schema.toLowerCase();
31          }
32          ResultSet tablesRS = metadata.getTables(catalog, schema, "%", new String[]{"TABLE"});
33          List<String> objects = new ArrayList<String>();
34          while (tablesRS.next()) {
35              String dbObject = tablesRS.getString(3);
36              objects.add(dbObject);
37          }
38          return objects;
39      }
40  
41  }