001 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
002 *
003 * Copyright 2000-2011, Michael Meyling <mime@qedeq.org>.
004 *
005 * "Hilbert II" is free software; you can redistribute
006 * it and/or modify it under the terms of the GNU General Public
007 * License as published by the Free Software Foundation; either
008 * version 2 of the License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013 * GNU General Public License for more details.
014 */
015
016 package org.qedeq.kernel.bo.common;
017
018 import org.qedeq.kernel.se.config.QedeqConfig;
019
020
021 /**
022 * QEDEQ kernel.
023 *
024 * @author Michael Meyling
025 */
026 public interface KernelProperties {
027
028 /**
029 * Get relative version directory of this kernel.
030 *
031 * @return Version sub directory.
032 */
033 public String getKernelVersionDirectory();
034
035 /**
036 * Get access to configuration parameters.
037 *
038 * @return Configuration access.
039 */
040 public QedeqConfig getConfig();
041
042
043 /**
044 * Get build information.
045 *
046 * @return Implementation-version.
047 */
048 public String getBuildId();
049
050 /**
051 * Get version of this kernel.
052 *
053 * @return Kernel version.
054 */
055 public String getKernelVersion();
056
057 /**
058 * Get code name of this kernel.
059 *
060 * @return Kernel code name.
061 */
062 public String getKernelCodeName();
063
064 /**
065 * Get descriptive version information of this kernel.
066 *
067 * @return Version Information.
068 */
069 public String getDescriptiveKernelVersion();
070
071 /**
072 * Get dedication for this kernel.
073 *
074 * @return Kernel code dedication.
075 */
076 public String getDedication();
077
078 /**
079 * Get maximal supported rule version of this kernel.
080 *
081 * @return Maximal supported rule version.
082 */
083 public String getMaximalRuleVersion();
084
085 /**
086 * Is a given rule version supported?
087 *
088 * @param ruleVersion Check this one.
089 * @return Is the given rule version supported?
090 */
091 public boolean isRuleVersionSupported(String ruleVersion);
092
093 /**
094 * Does {@link java.net.URLConnection} support the method <code>setConnectionTimeOut</code>
095 * in the currently running JVM. This should be true since version 1.5 but false for 1.4.2.
096 *
097 * @return Method is supported?
098 */
099 public boolean isSetConnectionTimeOutSupported();
100
101 /**
102 * Does {@link java.net.URLConnection} support the method <code>setReadTimeOut</code>
103 * in the currently running JVM. This should be true since version 1.5 but false for 1.4.2.
104 *
105 * @return Method is supported?
106 */
107 public boolean isSetReadTimeoutSupported();
108
109 }
|