Class DatabaseMap

    • Field Detail

      • STD_SEPARATOR_CHAR

        public static final char STD_SEPARATOR_CHAR
        The character used by most implementations as the separator between name elements.
        See Also:
        Constant Field Values
      • SCHEMA_SEPARATOR_CHAR

        public static final char SCHEMA_SEPARATOR_CHAR
        The character which separates the schema name from the table name.
        See Also:
        Constant Field Values
      • INIT_CLASS_NAME_FORMAT

        public static final String INIT_CLASS_NAME_FORMAT
        Format used to create create the class name for initializing a DB specific map
        See Also:
        Constant Field Values
    • Constructor Detail

      • DatabaseMap

        public DatabaseMap​(Database database)
        Constructs a new DatabaseMap.
        Parameters:
        database - the databsae to map
        Throws:
        NullPointerException - if the database is not provided
    • Method Detail

      • getName

        public String getName()
        The name of the database to which this database map belongs.
        Returns:
        the database name, not null.
      • containsTable

        public boolean containsTable​(TableMap table)
        Does this database contain this specific table?
        Parameters:
        table - The TableMap representation of the table.
        Returns:
        True if the database contains the table.
      • containsTable

        public boolean containsTable​(String name)
        Does this database contain this specific table?
        Parameters:
        name - The String representation of the table.
        Returns:
        True if the database contains the table.
      • getTable

        public TableMap getTable​(String name)
        Get a TableMap for the table by name.

        Note that by default Torque uses lazy initialization to minimize memory usage and startup time. However, if an OM or PEER class has not called the table's MapBuilder class, it will not be here. See the optional initialize method if you need full OM Mapping.

        Parameters:
        name - Name of the table.
        Returns:
        A TableMap, null if the table was not found.
      • getTables

        public TableMap[] getTables()
        Get a TableMap[] of all of the tables in the database.

        Note that by default Torque uses lazy initialization to minimize memory usage and startup time. However, if an OM or PEER class has not called the table's MapBuilder class, it will not be here. See the optional initialize method if you need full OM Mapping.

        Returns:
        A TableMap[].
      • addTable

        public TableMap addTable​(String tableName)
        Add a new table to the database by name. It creates an empty TableMap that you need to populate.
        Parameters:
        tableName - The name of the table.
        Returns:
        the new table map.
      • setIdTable

        public void setIdTable​(TableMap idTableMap)
        Add a new TableMap to the database.
        Parameters:
        idTableMap - The TableMap representation.
      • initialize

        public void initialize()
                        throws TorqueException
        Fully populate this DatabaseMap with all the TablesMaps. This is only needed if the application needs to use the complete OM mapping information. Otherwise, the OM Mapping information will be populated as needed by OM and Peer classes. An example of how to initialize the map info from the application:

        DatabaseMap dbMap = Torque.getDatabaseMap( dbName ); try { dbMap.initialize(); } catch ( TorqueException e ) { ... error handling } Note that Torque database names are case sensitive and this DB map must be retrieved with the exact name used in the XML schema.

        This uses Java reflection methods to locate and run the init() method of a class generated in the org.apache.torque.linkage package with a name based on the XML Database name value, e.g. org.apache.torque.linkage.DefaultMapInit

        Some misconfiguration situations that could cause this method to fail are:

        The class(es) in the org.apache.torque.linkage package were not included with the other generated class files (e.g. the jar file creation process only included com.* and not org.* files).

        Throws:
        TorqueException - If an error is encountered locating and calling the init method.
      • javanameMethod

        protected String javanameMethod​(String schemaName)
        Converts a database schema name to java object name. Operates same as underscoreMethod but does not convert anything to lowercase. This must match the javaNameMethod in the JavaNameGenerator class in Generator code.
        Parameters:
        schemaName - name to be converted.
        Returns:
        converted name.
      • copyFrom

        public void copyFrom​(DatabaseMap databaseMap)
        Copy all settings except the database from another database map.
        Parameters:
        databaseMap - the database map to copy from, not null.