KernelProperties.java
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 }