// Chromis POS - The New Face of Open Source POS // Copyright (c) (c) 2015-2016 // http://www.chromis.co.uk // // This file is part of Chromis POS // // Chromis POS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Chromis POS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Chromis POS. If not, see <http://www.gnu.org/licenses/>. package uk.chromis.pos.forms; /** * * @author adrianromero */ public class BeanFactoryData implements BeanFactoryApp { private BeanFactoryApp bf; /** Creates a new instance of BeanFactoryData */ public BeanFactoryData() { } /** * * @param app * @throws BeanFactoryException */ @Override public void init(AppView app) throws BeanFactoryException { try { String sfactoryname = this.getClass().getName(); if (sfactoryname.endsWith("Create")) { sfactoryname = sfactoryname.substring(0, sfactoryname.length() - 6); } bf = (BeanFactoryApp) Class.forName(sfactoryname + app.getSession().DB.getName()).newInstance(); bf.init(app); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | BeanFactoryException ex) { throw new BeanFactoryException(ex); } } /** * * @return */ @Override public Object getBean() { return bf.getBean(); } }