KernelProperties.java
001 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
002  *
003  * Copyright 2000-2013,  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 
019 
020 /**
021  * QEDEQ kernel.
022  *
023  @author  Michael Meyling
024  */
025 public interface KernelProperties {
026 
027     /**
028      * Get relative version directory of this kernel.
029      *
030      @return  Version sub directory.
031      */
032     public String getKernelVersionDirectory();
033 
034     /**
035      * Get build information.
036      *
037      @return  Implementation-version.
038      */
039     public String getBuildId();
040 
041     /**
042      * Get version of this kernel.
043      *
044      @return  Kernel version.
045      */
046     public String getKernelVersion();
047 
048     /**
049      * Get code name of this kernel.
050      *
051      @return  Kernel code name.
052      */
053     public String getKernelCodeName();
054 
055     /**
056      * Get descriptive version information of this kernel.
057      *
058      @return  Version Information.
059      */
060     public String getDescriptiveKernelVersion();
061 
062     /**
063      * Get dedication for this kernel.
064      *
065      @return  Kernel code dedication.
066      */
067     public String getDedication();
068 
069     /**
070      * Get maximal supported rule version of this kernel.
071      *
072      @return  Maximal supported rule version.
073      */
074     public String getMaximalRuleVersion();
075 
076     /**
077      * Is a given rule version supported?
078      *
079      @param   ruleVersion Check this one.
080      @return  Is the given rule version supported?
081      */
082     public boolean isRuleVersionSupported(String ruleVersion);
083 
084     /**
085      * Does {@link java.net.URLConnection} support the method <code>setConnectionTimeOut</code>
086      * in the currently running JVM. This should be true since version 1.5 but false for 1.4.2.
087      *
088      @return Method is supported?
089      */
090     public boolean isSetConnectionTimeOutSupported();
091 
092     /**
093      * Does {@link java.net.URLConnection} support the method <code>setReadTimeOut</code>
094      * in the currently running JVM. This should be true since version 1.5 but false for 1.4.2.
095      *
096      @return Method is supported?
097      */
098     public boolean isSetReadTimeoutSupported();
099 
100 }