1 /* This file is part of the project "Hilbert II" - http://www.qedeq.org" target="alexandria_uri">http://www.qedeq.org 2 * 3 * Copyright 2000-2014, Michael Meyling <mime@qedeq.org>. 4 * 5 * "Hilbert II" is free software; you can redistribute 6 * it and/or modify it under the terms of the GNU General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16 package org.qedeq.kernel.bo.common; 17 18 import java.io.IOException; 19 20 import org.qedeq.kernel.se.config.QedeqConfig; 21 22 /** 23 * State changing methods for the kernel. 24 * 25 * @author Michael Meyling 26 */ 27 public interface KernelState extends KernelServices { 28 29 /** 30 * Kernel initialisation. 31 * 32 * @param config Configuration access. 33 * @param moduleServices Various kernel services are supported here. 34 * @param basic Basic kernel properties. 35 * @throws IllegalStateException Kernel is already initialized. 36 * @throws IOException Initialization failed. 37 */ 38 public void init(QedeqConfig config, Kernel moduleServices, KernelProperties basic) 39 throws IOException; 40 41 /** 42 * Start the kernel. 43 * 44 */ 45 public void startup(); 46 47 /** 48 * Closes the kernel. 49 */ 50 public void shutdown(); 51 52 }