⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databasemap.java

📁 另外一种持久性o/m软件
💻 JAVA
字号:
package org.apache.torque.map;/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License") * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */import java.util.Iterator;import java.util.HashMap;import java.util.Hashtable;import org.apache.torque.adapter.IDMethod;import org.apache.torque.oid.IDBroker;import org.apache.torque.oid.IdGenerator;/** * DatabaseMap is used to model a database. * * @author <a href="mailto:jmcnally@collab.net">John D. McNally</a> * @author <a href="mailto:dlr@collab.net">Daniel Rall</a> * @version $Id: DatabaseMap.java,v 1.9 2005/01/31 19:43:54 tfischer Exp $ */public class DatabaseMap implements java.io.Serializable{    /** Name of the database. */    private String name;    /** Name of the tables in the database. */    private Hashtable tables;    /**     * A special table used to generate primary keys for the other     * tables.     */    private TableMap idTable = null;    /** The IDBroker that goes with the idTable. */    private IDBroker idBroker = null;    /** The IdGenerators, keyed by type of idMethod. */    private HashMap idGenerators;    /**     * Required by proxy. Not used.     */    public DatabaseMap()    {    }    /**     * Constructor.     *     * @param name Name of the database.     * @param numberOfTables Number of tables in the database.     */    public DatabaseMap(String name, int numberOfTables)    {        this.name = name;        tables = new Hashtable((int) (1.25 * numberOfTables) + 1);        idGenerators = new HashMap(6);    }    /**     * Constructor.     *     * @param name Name of the database.     */    public DatabaseMap(String name)    {        this.name = name;        tables = new Hashtable();        idGenerators = new HashMap(6);    }    /**     * Does this database contain this specific table?     *     * @param table The TableMap representation of the table.     * @return True if the database contains the table.     */    public boolean containsTable(TableMap table)    {        return containsTable(table.getName());    }    /**     * Does this database contain this specific table?     *     * @param name The String representation of the table.     * @return True if the database contains the table.     */    public boolean containsTable(String name)    {        if (name.indexOf('.') > 0)        {            name = name.substring(0, name.indexOf('.'));        }        return tables.containsKey(name);    }    /**     * Get the ID table for this database.     *     * @return A TableMap.     */    public TableMap getIdTable()    {        return idTable;    }    /**     * Get the IDBroker for this database.     *     * @return An IDBroker.     */    public IDBroker getIDBroker()    {        return idBroker;    }    /**     * Get the name of this database.     *     * @return A String.     */    public String getName()    {        return name;    }    /**     * Get a TableMap for the table by name.     *     * @param name Name of the table.     * @return A TableMap, null if the table was not found.     */    public TableMap getTable(String name)    {        return (TableMap) tables.get(name);    }    /**     * Get a TableMap[] of all of the tables in the database.     *     * @return A TableMap[].     */    public TableMap[] getTables()    {        TableMap[] dbTables = new TableMap[tables.size()];        Iterator it = tables.values().iterator();        int i = 0;        while (it.hasNext())        {            dbTables[i++] = (TableMap) it.next() ;        }        return dbTables;    }    /**     * Add a new table to the database by name.  It creates an empty     * TableMap that you need to populate.     *     * @param tableName The name of the table.     */    public void addTable(String tableName)    {        TableMap tmap = new TableMap(tableName, this);        tables.put(tableName, tmap);    }    /**     * Add a new table to the database by name.  It creates an empty     * TableMap that you need to populate.     *     * @param tableName The name of the table.     * @param numberOfColumns The number of columns in the table.     */    public void addTable(String tableName, int numberOfColumns)    {        TableMap tmap = new TableMap(tableName, numberOfColumns, this);        tables.put(tableName, tmap);    }    /**     * Add a new TableMap to the database.     *     * @param map The TableMap representation.     */    public void addTable(TableMap map)    {        tables.put(map.getName(), map);    }    /**     * Set the ID table for this database.     *     * @param idTable The TableMap representation for the ID table.     */    public void setIdTable(TableMap idTable)    {        this.idTable = idTable;        addTable(idTable);        idBroker = new IDBroker(idTable);        addIdGenerator(IDMethod.ID_BROKER, idBroker);    }    /**     * Set the ID table for this database.     *     * @param tableName The name for the ID table.     */    public void setIdTable(String tableName)    {        TableMap tmap = new TableMap(tableName, this);        setIdTable(tmap);    }    /**     * Add a type of id generator for access by a TableMap.     *     * @param type a <code>String</code> value     * @param idGen an <code>IdGenerator</code> value     */    public void addIdGenerator(String type, IdGenerator idGen)    {        idGenerators.put(type, idGen);    }    /**     * Get a type of id generator.  Valid values are listed in the     * {@link org.apache.torque.adapter.IDMethod} interface.     *     * @param type a <code>String</code> value     * @return an <code>IdGenerator</code> value     */    IdGenerator getIdGenerator(String type)    {        return (IdGenerator) idGenerators.get(type);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -