12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /** 由编辑器生成
- * 不要修改
- * 数据表缓存 */
- let data: Map<string, any> = new Map();
- let tables: Map<any, Map<number, any>> = new Map();
- export class TableUtil {
- /**获取一个表集*/
- static getTables<T>(type: (new () => T), ids: number[] | number): T[] {
- let map = tables.get(type);
- if (!map) {
- map = new Map<number, T>();
- tables.set(type, map);
- }
- let ts: T[] = [];
- if (ids instanceof Array) {
- for (let i: number = 0; i < ids.length; i++) {
- let t = map.get(ids[i]);
- if (!t) {
- t = new type();
- t.init(ids[i]);
- map.set(ids[i], t);
- }
- ts.push(t);
- }
- }
- else if (typeof ids === "number") {
- for (let i: number = 0; i < ids; i++) {
- let t = map.get(i);
- if (!t) {
- t = new type();
- t.init(i);
- map.set(i, t);
- }
- ts.push(t);
- }
- }
- return ts;
- }
- /**获取一个数据表id的数据
- * @param type 表类型
- * @param id 主key
- */
- static getTable<T>(type: (new () => T), id: number): T {
- let map = tables.get(type);
- if (!map) {
- map = new Map<number, T>();
- tables.set(type, map);
- }
- let t = map.get(id);
- if (!t) {
- t = new type();
- t.init(id);
- map.set(id, t);
- }
- return t;
- }
- /**
- * 通知资源名从缓存中获取一个Json数据表 没有初始化
- * @param name 资源名
- */
- static get(name: string): any {
- if (data.has(name)) {
- return data.get(name);
- } else {
- console.error("没有加载的资源:" + name);
- return null;
- }
- }
- static set(name: string, json: string): void {
- data.set(name, json);
- }
- static has(name: string): boolean {
- return data.has(name);
- }
- static delete(name: string): void {
- data.delete(name);
- }
- static clean(): void {
- data.clear();
- tables.clear();
- }
- }
|