/* XOWA: the XOWA Offline Wiki Application Copyright (C) 2012-2017 gnosygnu@gmail.com XOWA is licensed under the terms of the General Public License (GPL) Version 3, or alternatively under the terms of the Apache License Version 2.0. You may use XOWA according to either of these licenses as is most appropriate for your project on a case-by-case basis. The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.xowa.apps.metas; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*; import gplx.xowa.wikis.nss.*; import gplx.xowa.bldrs.wms.sites.*; public class Xoa_meta_mgr { private final Xoa_app app; private final Hash_adp_bry ns__hash = Hash_adp_bry.cs(); private Site_core_db core_db; public Xoa_meta_mgr(Xoa_app app) { this.app = app; } public void Ns__add(byte[] wiki_domain, Xow_ns_mgr ns_mgr) {ns__hash.Add(wiki_domain, ns_mgr);} // TEST:public public Xow_ns_mgr Ns__get_or_load(byte[] wiki_domain) { Xow_ns_mgr rv = (Xow_ns_mgr)ns__hash.Get_by_bry(wiki_domain); if (rv == null) { Core_db__assert(); rv = core_db.Load_namespace(wiki_domain); Ns__add(wiki_domain, rv); rv.Init(); // must init to fill Ords } return rv; } private void Core_db__assert() { if (core_db == null) core_db = new Site_core_db(app.Fsys_mgr().Cfg_site_meta_fil()); } }