package com.base.db; import java.util.ArrayList; import com.base.bean.BaseBean; public class DBConfig { final ArrayList<Class<? extends BaseBean<?>>> tableList; final String dbName; final int dbVersion; final String authority; final ArrayList<String> tableNameList; private DBConfig(final Builder builder) { tableList = builder.tableList; dbName = builder.dbName; dbVersion = builder.dbVersion; authority = builder.authority; tableNameList = new ArrayList<String>(); for(Class<? extends BaseBean<?>> c:tableList){ String name = TableUtil.getTableName(c); tableNameList.add(name); } } public static class Builder { private ArrayList<Class<? extends BaseBean<?>>> tableList; private String dbName; private int dbVersion; private String authority = "com.iss.mobile"; public Builder() { tableList = new ArrayList<Class<? extends BaseBean<?>>>(); } public Builder setName(String name) { dbName = name; return this; } public Builder setVersion(int version) { dbVersion = version; return this; } public Builder addTatble(Class<? extends BaseBean<?>> table) { tableList.add(table); return this; } public Builder setAuthority(String authority){ this.authority = authority; return this; } public DBConfig build(){ return new DBConfig(this); } } }