com.isomorphic.tools

## Class DataSourceTools

- java.lang.Object
- - com.isomorphic.base.Base
  - - com.isomorphic.tools.DataSourceTools

-     public class DataSourceTools
      extends Base

  `DataSourceTools` provides a number of static utility methods for generating DataSource information from other metadata (database tables, Hibernate mappings and Reflection on existing Java classes)

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.util.Map` | `getDataSourceConfigFromHibernateMapping(java.lang.String entityName)` Returns the DataSource configuration map derived from the given Hibernate mapping
    `static java.lang.Object` | `getDataSourceConfigFromJavaClass(java.lang.String className)` Returns the DataSource configuration map derived by applying Reflection to the given Java class
    `static java.util.Map` | `getDataSourceConfigFromJPAClass(java.lang.String className)` Returns the DataSource configuration map derived from the given JPA-mapped class
    `static java.util.Map` | `getDataSourceConfigFromTable(java.lang.String tableName, java.lang.String schema, java.lang.String serverType, java.lang.String dbName, java.lang.String timestampType, boolean returnSQLTypes)` Returns the DataSource configuration map derived from the given database table

- - ### Method Detail

    - #### getDataSourceConfigFromTable

          public static java.util.Map getDataSourceConfigFromTable(java.lang.String tableName,
                                                                   java.lang.String schema,
                                                                   java.lang.String serverType,
                                                                   java.lang.String dbName,
                                                                   java.lang.String timestampType,
                                                                   boolean returnSQLTypes)
                                                            throws java.lang.Exception

      Returns the DataSource configuration map derived from the given database table

      Parameters:
        `tableName` - the name of the table
        `schema` - the name of the database schema. Some databases require this, others do not; indeed, some do not recognize the concept
        `serverType` - "sql" or "hibernate", how to obtain a database connection
        `dbName` - For "sql" types only, the database to connect to
        `timestampType` - The SmartClient field type to use when mapping SQL columns of type TIMESTAMP. Must be "date", "datetime" or "time"; defaults to "datetime".
      Returns:
        The DataSource configuration map, or null if the configuration could not be derived (for example, because the table did not exist)
      Throws:
        `java.lang.Exception`

    - #### getDataSourceConfigFromHibernateMapping

          public static java.util.Map getDataSourceConfigFromHibernateMapping(java.lang.String entityName)
                                                                       throws java.lang.Exception

      Returns the DataSource configuration map derived from the given Hibernate mapping

      Parameters:
        `entityName` - the "entity-name" of the Hibernate mapping
      Returns:
        The DataSource configuration map, or null if the given entity name was not found
      Throws:
        `java.lang.Exception`

    - #### getDataSourceConfigFromJPAClass

          public static java.util.Map getDataSourceConfigFromJPAClass(java.lang.String className)
                                                               throws java.lang.Exception

      Returns the DataSource configuration map derived from the given JPA-mapped class

      Parameters:
        `className` - the name of JPA-mapped class
      Returns:
        The DataSource configuration map, or null if the given class name was not found
      Throws:
        `java.lang.Exception`

    - #### getDataSourceConfigFromJavaClass

          public static java.lang.Object getDataSourceConfigFromJavaClass(java.lang.String className)
                                                                   throws java.lang.Exception

      Returns the DataSource configuration map derived by applying Reflection to the given Java class

      Parameters:
        `className` - the fully-qualified class name (eg, com.somecompany.SomeClass)
      Returns:
        The DataSource configuration map, or null if the given class was not found
      Throws:
        `java.lang.Exception`