View Javadoc

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  }