import {IUserManager} from "./IUserManager"; import {IGalleryManager} from "./IGalleryManager"; import {MongoGalleryManager} from "./mongoose/MongoGalleryManager"; import {MongoUserManager} from "./mongoose/MongoUserManager"; import {GalleryManager} from "./memory/GalleryManager"; import {UserManager} from "./memory/UserManager"; import {ISearchManager} from "./ISearchManager"; import {MongoSearchManager} from "./mongoose/MongoSearchManager"; import {SearchManager} from "./memory/SearchManager"; export class ObjectManagerRepository{ private _galleryManager:IGalleryManager; private _userManager:IUserManager; private _searchManager:ISearchManager; private static _instance:ObjectManagerRepository = null; public static InitMongoManagers(){ ObjectManagerRepository.getInstance().setGalleryManager(new MongoGalleryManager()); ObjectManagerRepository.getInstance().setUserManager(new MongoUserManager()); ObjectManagerRepository.getInstance().setSearchManager(new MongoSearchManager()); } public static MemoryMongoManagers(){ ObjectManagerRepository.getInstance().setGalleryManager(new GalleryManager()); ObjectManagerRepository.getInstance().setUserManager(new UserManager()); ObjectManagerRepository.getInstance().setSearchManager(new SearchManager()); } public static getInstance(){ if(this._instance === null){ this._instance = new ObjectManagerRepository(); } return this._instance; } getGalleryManager():IGalleryManager { return this._galleryManager; } setGalleryManager(value:IGalleryManager) { this._galleryManager = value; } getUserManager():IUserManager { return this._userManager; } setUserManager(value:IUserManager) { this._userManager = value; } getSearchManager():ISearchManager { return this._searchManager; } setSearchManager(value:ISearchManager) { this._searchManager = value; } }