// This file is generated by genbeans tool. Do NOT edit it! @formatter:off package jane.bean; import java.util.HashMap; import jane.core.Bean; import jane.core.DBManager; import jane.core.Octets; import jane.core.Table; import jane.core.TableLong; import jane.core.map.IntHashMap; /** 全部的数据库表的注册和使用类(自动生成的静态类) */ public final class AllTables { private AllTables() {} private static final DBManager _dbm = DBManager.instance(); /** * 注册全部的数据库表<p> * 用于初始化和注册下面的全部静态成员(保持和AllBeans.register一致的用法), 并启动提交线程<br> * 调用前要先初始化数据库管理器: DBManager.instance().startup(...) */ public static void register() { _dbm.startCommitThread(); } /** * 数据库表定义. key类型只能是32/64位整数/浮点数或字符串/binary类型或bean类型, id类型表示优化的非负数long类型 */ public static final TableLong<TestType, TestType.Safe> TestTable = _dbm.<TestType, TestType.Safe>openTable(1, "TestTable", "test", 65536, TestType.BEAN_STUB); /** * value类型必须是bean定义的类型 */ public static final Table<TestKeyBean, TestBean, TestBean.Safe> BeanTable = _dbm.<TestKeyBean, TestBean, TestBean.Safe>openTable(2, "BeanTable", "bean", 65536, TestKeyBean.BEAN_STUB, TestBean.BEAN_STUB); /** * 注意表名和key类型的对应关系是不能改变的 */ public static final Table<Octets, TestEmpty, TestEmpty.Safe> OctetsTable = _dbm.<Octets, TestEmpty, TestEmpty.Safe>openTable(3, "OctetsTable", "bean", 1000, null, null); /** * 用于测试数据库的表 */ public static final TableLong<TestBean, TestBean.Safe> Benchmark = _dbm.<TestBean, TestBean.Safe>openTable(4, "Benchmark", "bench", 50000, TestBean.BEAN_STUB); /** * 以下内部类可以单独使用,避免初始化前面的表对象,主要用于获取表的ID和键值类型 */ public static final class Types { private static final IntHashMap<Types> idTypes = new IntHashMap<>(4 * 2); private static final HashMap<String, Types> nameTypes = new HashMap<>(4 * 2); public final int tableId; public final String tableName; public final Bean<?> keyBeanStub; public final Bean<?> valueBeanStub; private Types(int id, String name, Bean<?> kbs, Bean<?> vbs) { tableId = id; tableName = name; keyBeanStub = kbs; valueBeanStub = vbs; } static { Types types; types = new Types(1, "TestTable", null, TestType.BEAN_STUB); idTypes.put(1, types); nameTypes.put("TestTable", types); types = new Types(2, "BeanTable", TestKeyBean.BEAN_STUB, TestBean.BEAN_STUB); idTypes.put(2, types); nameTypes.put("BeanTable", types); types = new Types(3, "OctetsTable", null, TestEmpty.BEAN_STUB); idTypes.put(3, types); nameTypes.put("OctetsTable", types); types = new Types(4, "Benchmark", null, TestBean.BEAN_STUB); idTypes.put(4, types); nameTypes.put("Benchmark", types); } public static Types getTypes(int tableId) { return idTypes.get(tableId); } public static Types getTypes(String tableName) { return nameTypes.get(tableName); } } }