public class JDBCMetaDataBasedModelElementFinder extends java.lang.Object implements ModelElementFinder
| Modifier and Type | Class and Description |
|---|---|
static interface |
JDBCMetaDataBasedModelElementFinder.PrivilegedSessionProvider |
| Modifier and Type | Field and Description |
|---|---|
static JDBCMetaDataBasedModelElementFinder.PrivilegedSessionProvider |
privilegedSessionProvider |
static java.util.Set<java.lang.String> |
TYPES_WITH_LENGTH
Set of sql types (uppercase) not listed in
Types which needs a length argument. |
static java.util.Set<java.lang.String> |
TYPES_WITHOUT_LENGTH
Set of sql types (uppercase) not listed in
Types which don't accept a length argument. |
| Constructor and Description |
|---|
JDBCMetaDataBasedModelElementFinder() |
| Modifier and Type | Method and Description |
|---|---|
static int |
filterLength(int length,
int precision,
java.lang.String typeName,
int type,
DBMS dbms,
int origLength)
Filters the length attribute of a column in a DBMS specific way.
|
static int |
filterPrecision(int length,
int precision,
java.lang.String typeName,
int type,
DBMS dbms,
int origLength)
Filters the precision attribute of a column in a DBMS specific way.
|
static java.lang.String |
filterType(java.lang.String sqlType,
int length,
java.lang.String typeName,
int type,
DBMS dbms,
int origLength)
Filters the type attribute of a column in a DBMS specific way.
|
java.util.Collection<Association> |
findAssociations(DataModel dataModel,
java.util.Map<Association,java.lang.String[]> namingSuggestion,
Session session,
ExecutionContext executionContext)
Finds associations by reading the databases meta-data.
|
java.util.List<Column> |
findColumns(Table table,
Session session,
ExecutionContext executionContext)
|
java.util.Set<Table> |
findTables(Session session,
ExecutionContext executionContext)
Finds all tables in DB schema.
|
static java.util.List<java.lang.String> |
getCatalogsWithSchemas(Session session)
Finds all catalogs with all schemas in DB.
|
static java.sql.ResultSet |
getColumns(Session session,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern,
boolean withCaching,
boolean onlyIfCached,
java.lang.String tableType)
Calls
DatabaseMetaData.getColumns(String, String, String, String). |
static java.lang.String |
getDefaultSchema(Session session,
java.lang.String userName)
Gets default schema of DB.
|
static java.lang.String |
getDefaultSchema(Session session,
java.lang.String userName,
java.util.List<java.lang.String> schemaNames)
Gets default schema of DB.
|
static java.sql.ResultSet |
getExportedKeys(Session session,
java.lang.String schema,
java.lang.String table) |
static java.sql.ResultSet |
getImportedKeys(Session session,
java.lang.String schema,
java.lang.String table,
boolean withCaching) |
static java.sql.ResultSet |
getIndexes(Session session,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Calls {@link DatabaseMetaData#getIndexInfo(String, String, String, boolean, boolean).
|
static java.sql.ResultSet |
getPrimaryKeys(Session session,
java.lang.String schema,
java.lang.String table,
boolean withCaching) |
static java.sql.ResultSet |
getProcedures(Session session,
java.lang.String schemaPattern,
java.lang.String functionPattern)
Calls
DatabaseMetaData.getProcedures(String, String, String). |
static java.util.List<java.lang.String> |
getSchemas(Session session,
java.lang.String userName)
Finds all schemas in DB.
|
static java.sql.ResultSet |
getTables(Session session,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types) |
static void |
resetCaches(Session session) |
static Column |
toColumn(java.sql.ResultSetMetaData metaData,
int i,
Session session) |
java.lang.String |
toString()
Gets description.
|
public static final java.util.Set<java.lang.String> TYPES_WITH_LENGTH
Types which needs a length argument.public static final java.util.Set<java.lang.String> TYPES_WITHOUT_LENGTH
Types which don't accept a length argument.public static JDBCMetaDataBasedModelElementFinder.PrivilegedSessionProvider privilegedSessionProvider
public java.util.Collection<Association> findAssociations(DataModel dataModel, java.util.Map<Association,java.lang.String[]> namingSuggestion, Session session, ExecutionContext executionContext) throws java.lang.Exception
findAssociations in interface ModelElementFindersession - the statement executor for executing SQL-statementsdataModel - model containing already known elementsnamingSuggestion - to put naming suggestions for associations intojava.lang.Exception - on each errorpublic static java.sql.ResultSet getImportedKeys(Session session, java.lang.String schema, java.lang.String table, boolean withCaching) throws java.sql.SQLException
java.sql.SQLExceptionpublic static java.sql.ResultSet getExportedKeys(Session session, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
java.sql.SQLExceptionpublic java.util.Set<Table> findTables(Session session, ExecutionContext executionContext) throws java.lang.Exception
findTables in interface ModelElementFindersession - the statement executor for executing SQL-statementsTablesjava.lang.Exception - on each errorpublic static java.sql.ResultSet getPrimaryKeys(Session session, java.lang.String schema, java.lang.String table, boolean withCaching) throws java.sql.SQLException
java.sql.SQLExceptionpublic static java.sql.ResultSet getTables(Session session, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types) throws java.sql.SQLException
java.sql.SQLExceptionpublic static java.sql.ResultSet getIndexes(Session session, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
withCaching - java.sql.SQLExceptionpublic static java.sql.ResultSet getColumns(Session session, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern, boolean withCaching, boolean onlyIfCached, java.lang.String tableType) throws java.sql.SQLException
DatabaseMetaData.getColumns(String, String, String, String). Uses schemaPattern as catalogPattern on MySQL.withCaching - java.sql.SQLExceptionpublic static java.sql.ResultSet getProcedures(Session session, java.lang.String schemaPattern, java.lang.String functionPattern) throws java.sql.SQLException
DatabaseMetaData.getProcedures(String, String, String). Uses schemaPattern as catalogPattern on MySQL.withCaching - java.sql.SQLExceptionpublic static java.util.List<java.lang.String> getSchemas(Session session, java.lang.String userName)
session - the statement executor for executing SQL-statementsuserName - schema with this name may be emptypublic static java.util.List<java.lang.String> getCatalogsWithSchemas(Session session)
session - the statement executor for executing SQL-statementspublic static java.lang.String getDefaultSchema(Session session, java.lang.String userName)
session - the statement executor for executing SQL-statementsuserName - schema with this name may be emptypublic static java.lang.String getDefaultSchema(Session session, java.lang.String userName, java.util.List<java.lang.String> schemaNames)
session - the statement executor for executing SQL-statementsuserName - schema with this name may be emptypublic java.util.List<Column> findColumns(Table table, Session session, ExecutionContext executionContext) throws java.sql.SQLException
findColumns in interface ModelElementFindertable - the tablesession - the statement executor for executing SQL-statementsjava.lang.Exception - on each errorjava.sql.SQLExceptionpublic static int filterLength(int length,
int precision,
java.lang.String typeName,
int type,
DBMS dbms,
int origLength)
length - the length as given from driverprecision - the precision as given from driverthe - type nametype - the sql typedbms - the DBMSpublic static int filterPrecision(int length,
int precision,
java.lang.String typeName,
int type,
DBMS dbms,
int origLength)
length - the length as given from driverprecision - the - type nametype - the sql typedbms - the DBMSpublic static java.lang.String filterType(java.lang.String sqlType,
int length,
java.lang.String typeName,
int type,
DBMS dbms,
int origLength)
length - the length as given from driverthe - type nametype - the sql typedbms - the DBMSpublic static Column toColumn(java.sql.ResultSetMetaData metaData, int i, Session session) throws java.sql.SQLException
java.sql.SQLExceptionpublic static void resetCaches(Session session)
public java.lang.String toString()
toString in class java.lang.Object