<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDevelopment%2FOS</id>
		<title>Java Tutorial/Development/OS - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDevelopment%2FOS"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Development/OS&amp;action=history"/>
		<updated>2026-04-22T22:38:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Development/OS&amp;diff=3648&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Development/OS&amp;diff=3648&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Development/OS&amp;diff=3649&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Development/OS&amp;diff=3649&amp;oldid=prev"/>
				<updated>2010-05-31T15:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Class representing a standard operating system platform, WIN, MAC, or POSIX. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *  OS.java&lt;br /&gt;
 *  2007-04-14&lt;br /&gt;
 */&lt;br /&gt;
//cb.aloe.util;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
/**&lt;br /&gt;
 * Class representing a standard operating system platform, WIN, MAC, or POSIX.&lt;br /&gt;
 * &lt;br /&gt;
 * @author Christopher Bach&lt;br /&gt;
 */&lt;br /&gt;
public final class OS {&lt;br /&gt;
  public static final OS WIN = new OS(&amp;quot;WIN&amp;quot;);&lt;br /&gt;
  public static final OS MAC = new OS(&amp;quot;MAC&amp;quot;);&lt;br /&gt;
  public static final OS POSIX = new OS(&amp;quot;POSIX&amp;quot;);&lt;br /&gt;
  private String ourOS = &amp;quot;&amp;quot;;&lt;br /&gt;
  /**&lt;br /&gt;
   * Private constructor to avert instantiation.&lt;br /&gt;
   */&lt;br /&gt;
  private OS(String os) {&lt;br /&gt;
    ourOS = os;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns a String representing this OS object.&lt;br /&gt;
   */&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return ourOS;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns the first readable and writable application data folder appropriate&lt;br /&gt;
   * to this OS.&lt;br /&gt;
   */&lt;br /&gt;
  public static File getAppDataFolder() {&lt;br /&gt;
    File[] folders = listAppDataFolders();&lt;br /&gt;
    for (int i = 0; i &amp;lt; folders.length; i++) {&lt;br /&gt;
      File folder = folders[i];&lt;br /&gt;
      if (folder.canRead() &amp;amp;&amp;amp; folder.canWrite())&lt;br /&gt;
        return folder;&lt;br /&gt;
    }&lt;br /&gt;
    return null;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns the first readable and writable user data folder appropriate to&lt;br /&gt;
   * this OS.&lt;br /&gt;
   */&lt;br /&gt;
  public static File getUserDataFolder() {&lt;br /&gt;
    File[] folders = listUserDataFolders();&lt;br /&gt;
    for (int i = 0; i &amp;lt; folders.length; i++) {&lt;br /&gt;
      File folder = folders[i];&lt;br /&gt;
      if (folder.canRead() &amp;amp;&amp;amp; folder.canWrite())&lt;br /&gt;
        return folder;&lt;br /&gt;
    }&lt;br /&gt;
    return null;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns a list of the preferred locations for storing application- specific&lt;br /&gt;
   * data in descending order.&lt;br /&gt;
   */&lt;br /&gt;
  public static File[] listAppDataFolders() {&lt;br /&gt;
    String home = System.getProperty(&amp;quot;user.home&amp;quot;);&lt;br /&gt;
    ArrayList folders = new ArrayList();&lt;br /&gt;
    if (isWinNT()) // NT/2000/XP&lt;br /&gt;
    {&lt;br /&gt;
      // C:\Documents and Settings\All Users\Application Data&lt;br /&gt;
      // Surmise that the &amp;quot;All Users&amp;quot; folder will be a child of the&lt;br /&gt;
      // parent of the current user&amp;quot;s home folder:&lt;br /&gt;
      File folder = new File(home).getParentFile();&lt;br /&gt;
      folders.add(new File(folder, &amp;quot;All Users\\Application Data&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    else if (isWin9X()) // 95/98/ME&lt;br /&gt;
    {&lt;br /&gt;
      // C:\Windows&lt;br /&gt;
      folders.add(new File(home));&lt;br /&gt;
    }&lt;br /&gt;
    else if (isVista()) {&lt;br /&gt;
      // C:\ProgramData&lt;br /&gt;
      File folder = new File(home).getParentFile().getParentFile();&lt;br /&gt;
      folders.add(new File(folder, &amp;quot;ProgramData&amp;quot;));&lt;br /&gt;
      // C:\Users\Public\AppData&lt;br /&gt;
      folder = new File(home).getParentFile();&lt;br /&gt;
      folders.add(new File(folder, &amp;quot;Public\\AppData&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    else if (isMac()) {&lt;br /&gt;
      folders.add(new File(&amp;quot;/Library/Application Support&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      folders.add(new File(&amp;quot;/var/local&amp;quot;));&lt;br /&gt;
      folders.add(new File(&amp;quot;/var&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    // folders.addAll(Arrays.asList(listUserDataFolders()));&lt;br /&gt;
    File[] files = new File[folders.size()];&lt;br /&gt;
    return (File[]) folders.toArray(files);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns a list of the preferred locations for storing user- specific data&lt;br /&gt;
   * in descending order.&lt;br /&gt;
   */&lt;br /&gt;
  public static File[] listUserDataFolders() {&lt;br /&gt;
    String home = System.getProperty(&amp;quot;user.home&amp;quot;);&lt;br /&gt;
    ArrayList folders = new ArrayList();&lt;br /&gt;
    if (isWinNT()) {&lt;br /&gt;
      folders.add(new File(home + &amp;quot;\\Application Data&amp;quot;));&lt;br /&gt;
      folders.add(new File(home + &amp;quot;\\Local Settings\\Application Data&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    else if (isVista()) {&lt;br /&gt;
      folders.add(new File(home + &amp;quot;\\AppData&amp;quot;));&lt;br /&gt;
      folders.add(new File(home + &amp;quot;\\AppData\\Local&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    else if (isMac()) {&lt;br /&gt;
      folders.add(new File(home + &amp;quot;/Library/Application Support&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
    folders.add(new File(home));&lt;br /&gt;
    File[] files = new File[folders.size()];&lt;br /&gt;
    return (File[]) folders.toArray(files);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns the name of the current operating system platform as listed in the&lt;br /&gt;
   * System properties.&lt;br /&gt;
   */&lt;br /&gt;
  public static final String getOSName() {&lt;br /&gt;
    return System.getProperty(&amp;quot;os.name&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns the OS representing the current operating system platform.&lt;br /&gt;
   */&lt;br /&gt;
  public static final OS getOS() {&lt;br /&gt;
    String os = System.getProperty(&amp;quot;os.name&amp;quot;).toLowerCase();&lt;br /&gt;
    if (os.indexOf(&amp;quot;windows&amp;quot;) &amp;gt;= 0)&lt;br /&gt;
      return WIN;&lt;br /&gt;
    else if (os.indexOf(&amp;quot;mac os&amp;quot;) &amp;gt;= 0)&lt;br /&gt;
      return MAC;&lt;br /&gt;
    else&lt;br /&gt;
      return POSIX;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns whether or not the current operating system is a Microsoft Windows&lt;br /&gt;
   * platform.&lt;br /&gt;
   */&lt;br /&gt;
  public static final boolean isWindows() {&lt;br /&gt;
    return getOS() == WIN;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns whether or not the current operating system is a Microsoft Windows&lt;br /&gt;
   * 9X platform (Windows 95/98/ME).&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean isWin9X() {&lt;br /&gt;
    if (getOS() != WIN)&lt;br /&gt;
      return false;&lt;br /&gt;
    String os = getOSName();&lt;br /&gt;
    if (os.indexOf(&amp;quot;95&amp;quot;) &amp;gt;= 0 || os.indexOf(&amp;quot;98&amp;quot;) &amp;gt;= 0 || os.indexOf(&amp;quot;me&amp;quot;) &amp;gt;= 0)&lt;br /&gt;
      return true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns whether or not the current operating system is a Microsoft Windows&lt;br /&gt;
   * NT platform (Windows NT/2000/2003/XP).&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean isWinNT() {&lt;br /&gt;
    if (getOS() != WIN)&lt;br /&gt;
      return false;&lt;br /&gt;
    String os = getOSName();&lt;br /&gt;
    if (os.indexOf(&amp;quot;NT&amp;quot;) &amp;gt;= 0 || os.indexOf(&amp;quot;2000&amp;quot;) &amp;gt;= 0 || os.indexOf(&amp;quot;2003&amp;quot;) &amp;gt;= 0&lt;br /&gt;
        || os.indexOf(&amp;quot;XP&amp;quot;) &amp;gt;= 0)&lt;br /&gt;
      return true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns whether or not the current operating system is a Microsoft Windows&lt;br /&gt;
   * Vista platform.&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean isVista() {&lt;br /&gt;
    if (getOS() != WIN)&lt;br /&gt;
      return false;&lt;br /&gt;
    String os = getOSName();&lt;br /&gt;
    return (os.indexOf(&amp;quot;Vista&amp;quot;) &amp;gt;= 0);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns whether or not the current operating system is the Apple Macintosh&lt;br /&gt;
   * OS X platform.&lt;br /&gt;
   */&lt;br /&gt;
  public static final boolean isMac() {&lt;br /&gt;
    return getOS() == MAC;&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Returns whether or not the current operating system is a Posix-compatible&lt;br /&gt;
   * platform (Unix, Linux, Solaris, etc).&lt;br /&gt;
   */&lt;br /&gt;
  public static final boolean isPosix() {&lt;br /&gt;
    return getOS() == POSIX;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Class to help determining the OS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 * contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 * this work for additional information regarding copyright ownership.&lt;br /&gt;
 * The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 * the License.  You may obtain a copy of the License at&lt;br /&gt;
 * &lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 * &lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.HashSet;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
/**&lt;br /&gt;
 * Class to help determining the OS.&lt;br /&gt;
 *&lt;br /&gt;
 * @author &lt;br /&gt;
 * @version $Revision: 480428 $ $Date: 2006-11-29 07:15:24 +0100 (Mi, 29 Nov 2006) $&lt;br /&gt;
 */&lt;br /&gt;
 final class OsFamily&lt;br /&gt;
{&lt;br /&gt;
    private final String name;&lt;br /&gt;
    private final OsFamily[] families;&lt;br /&gt;
    OsFamily(final String name)&lt;br /&gt;
    {&lt;br /&gt;
        this.name = name;&lt;br /&gt;
        families = new OsFamily[0];&lt;br /&gt;
    }&lt;br /&gt;
    OsFamily(final String name, final OsFamily[] families)&lt;br /&gt;
    {&lt;br /&gt;
        this.name = name;&lt;br /&gt;
        this.families = families;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns the name of this family.&lt;br /&gt;
     */&lt;br /&gt;
    public String getName()&lt;br /&gt;
    {&lt;br /&gt;
        return name;&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns the OS families that this family belongs to.&lt;br /&gt;
     */&lt;br /&gt;
    public OsFamily[] getFamilies()&lt;br /&gt;
    {&lt;br /&gt;
        return families;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Condition that tests the OS type. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 *  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 *  this work for additional information regarding copyright ownership.&lt;br /&gt;
 *  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 *  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 *  the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *  See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
/**&lt;br /&gt;
 * Condition that tests the OS type.&lt;br /&gt;
 */&lt;br /&gt;
public final class OS {&lt;br /&gt;
    private static final String FAMILY_OS_400 = &amp;quot;os/400&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_Z_OS = &amp;quot;z/os&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_WIN9X = &amp;quot;win9x&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_OPENVMS = &amp;quot;openvms&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_UNIX = &amp;quot;unix&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_TANDEM = &amp;quot;tandem&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_MAC = &amp;quot;mac&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_DOS = &amp;quot;dos&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_NETWARE = &amp;quot;netware&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_OS_2 = &amp;quot;os/2&amp;quot;;&lt;br /&gt;
    private static final String FAMILY_WINDOWS = &amp;quot;windows&amp;quot;;&lt;br /&gt;
    private static final String OS_NAME = System.getProperty(&amp;quot;os.name&amp;quot;)&lt;br /&gt;
            .toLowerCase(Locale.US);&lt;br /&gt;
    private static final String OS_ARCH = System.getProperty(&amp;quot;os.arch&amp;quot;)&lt;br /&gt;
            .toLowerCase(Locale.US);&lt;br /&gt;
    private static final String OS_VERSION = System.getProperty(&amp;quot;os.version&amp;quot;)&lt;br /&gt;
            .toLowerCase(Locale.US);&lt;br /&gt;
    private static final String PATH_SEP = System.getProperty(&amp;quot;path.separator&amp;quot;);&lt;br /&gt;
    /**&lt;br /&gt;
     * Default constructor&lt;br /&gt;
     */&lt;br /&gt;
    private OS() {&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Determines if the OS on which Ant is executing matches the given OS&lt;br /&gt;
     * family. * Possible values:&amp;lt;br /&amp;gt;&lt;br /&gt;
     * &amp;lt;ul&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;dos&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;mac&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;netware&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;os/2&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;tandem&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;unix&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;windows&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;win9x&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;z/os&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;li&amp;gt;os/400&amp;lt;/li&amp;gt;&lt;br /&gt;
     * &amp;lt;/ul&amp;gt;&lt;br /&gt;
     * &lt;br /&gt;
     * @param family&lt;br /&gt;
     *            the family to check for&lt;br /&gt;
     * @return true if the OS matches&lt;br /&gt;
     */&lt;br /&gt;
    private static boolean isFamily(final String family) {&lt;br /&gt;
        return isOs(family, null, null, null);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyDOS() {&lt;br /&gt;
        return isFamily(FAMILY_DOS);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyMac() {&lt;br /&gt;
        return isFamily(FAMILY_MAC);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyNetware() {&lt;br /&gt;
        return isFamily(FAMILY_NETWARE);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyOS2() {&lt;br /&gt;
        return isFamily(FAMILY_OS_2);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyTandem() {&lt;br /&gt;
        return isFamily(FAMILY_TANDEM);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyUnix() {&lt;br /&gt;
        return isFamily(FAMILY_UNIX);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyWindows() {&lt;br /&gt;
        return isFamily(FAMILY_WINDOWS);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyWin9x() {&lt;br /&gt;
        return isFamily(FAMILY_WIN9X);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyZOS() {&lt;br /&gt;
        return isFamily(FAMILY_Z_OS);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyOS400() {&lt;br /&gt;
        return isFamily(FAMILY_OS_400);&lt;br /&gt;
    }&lt;br /&gt;
    public static boolean isFamilyOpenVms() {&lt;br /&gt;
        return isFamily(FAMILY_OPENVMS);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Determines if the OS on which Ant is executing matches the given OS name.&lt;br /&gt;
     * &lt;br /&gt;
     * @param name&lt;br /&gt;
     *            the OS name to check for&lt;br /&gt;
     * @return true if the OS matches&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean isName(final String name) {&lt;br /&gt;
        return isOs(null, name, null, null);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Determines if the OS on which Ant is executing matches the given OS&lt;br /&gt;
     * architecture.&lt;br /&gt;
     * &lt;br /&gt;
     * @param arch&lt;br /&gt;
     *            the OS architecture to check for&lt;br /&gt;
     * @return true if the OS matches&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean isArch(final String arch) {&lt;br /&gt;
        return isOs(null, null, arch, null);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Determines if the OS on which Ant is executing matches the given OS&lt;br /&gt;
     * version.&lt;br /&gt;
     * &lt;br /&gt;
     * @param version&lt;br /&gt;
     *            the OS version to check for&lt;br /&gt;
     * @return true if the OS matches&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean isVersion(final String version) {&lt;br /&gt;
        return isOs(null, null, null, version);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Determines if the OS on which Ant is executing matches the given OS&lt;br /&gt;
     * family, name, architecture and version&lt;br /&gt;
     * &lt;br /&gt;
     * @param family&lt;br /&gt;
     *            The OS family&lt;br /&gt;
     * @param name&lt;br /&gt;
     *            The OS name&lt;br /&gt;
     * @param arch&lt;br /&gt;
     *            The OS architecture&lt;br /&gt;
     * @param version&lt;br /&gt;
     *            The OS version&lt;br /&gt;
     * @return true if the OS matches&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean isOs(final String family, final String name,&lt;br /&gt;
            final String arch, final String version) {&lt;br /&gt;
        boolean retValue = false;&lt;br /&gt;
        if (family != null || name != null || arch != null || version != null) {&lt;br /&gt;
            boolean isFamily = true;&lt;br /&gt;
            boolean isName = true;&lt;br /&gt;
            boolean isArch = true;&lt;br /&gt;
            boolean isVersion = true;&lt;br /&gt;
            if (family != null) {&lt;br /&gt;
                if (family.equals(FAMILY_WINDOWS)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_WINDOWS) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_OS_2)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_OS_2) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_NETWARE)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_NETWARE) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_DOS)) {&lt;br /&gt;
                    isFamily = PATH_SEP.equals(&amp;quot;;&amp;quot;)&lt;br /&gt;
                            &amp;amp;&amp;amp; !isFamily(FAMILY_NETWARE);&lt;br /&gt;
                } else if (family.equals(FAMILY_MAC)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_MAC) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_TANDEM)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(&amp;quot;nonstop_kernel&amp;quot;) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_UNIX)) {&lt;br /&gt;
                    isFamily = PATH_SEP.equals(&amp;quot;:&amp;quot;)&lt;br /&gt;
                            &amp;amp;&amp;amp; !isFamily(FAMILY_OPENVMS)&lt;br /&gt;
                            &amp;amp;&amp;amp; (!isFamily(FAMILY_MAC) || OS_NAME.endsWith(&amp;quot;x&amp;quot;));&lt;br /&gt;
                } else if (family.equals(FAMILY_WIN9X)) {&lt;br /&gt;
                    isFamily = isFamily(FAMILY_WINDOWS)&lt;br /&gt;
                            &amp;amp;&amp;amp; (OS_NAME.indexOf(&amp;quot;95&amp;quot;) &amp;gt;= 0&lt;br /&gt;
                                    || OS_NAME.indexOf(&amp;quot;98&amp;quot;) &amp;gt;= 0&lt;br /&gt;
                                    || OS_NAME.indexOf(&amp;quot;me&amp;quot;) &amp;gt;= 0 || OS_NAME&lt;br /&gt;
                                    .indexOf(&amp;quot;ce&amp;quot;) &amp;gt;= 0);&lt;br /&gt;
                } else if (family.equals(FAMILY_Z_OS)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_Z_OS) &amp;gt; -1&lt;br /&gt;
                            || OS_NAME.indexOf(&amp;quot;os/390&amp;quot;) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_OS_400)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_OS_400) &amp;gt; -1;&lt;br /&gt;
                } else if (family.equals(FAMILY_OPENVMS)) {&lt;br /&gt;
                    isFamily = OS_NAME.indexOf(FAMILY_OPENVMS) &amp;gt; -1;&lt;br /&gt;
                } else {&lt;br /&gt;
                    throw new IllegalArgumentException(&lt;br /&gt;
                            &amp;quot;Don\&amp;quot;t know how to detect os family \&amp;quot;&amp;quot; + family&lt;br /&gt;
                                    + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            if (name != null) {&lt;br /&gt;
                isName = name.equals(OS_NAME);&lt;br /&gt;
            }&lt;br /&gt;
            if (arch != null) {&lt;br /&gt;
                isArch = arch.equals(OS_ARCH);&lt;br /&gt;
            }&lt;br /&gt;
            if (version != null) {&lt;br /&gt;
                isVersion = version.equals(OS_VERSION);&lt;br /&gt;
            }&lt;br /&gt;
            retValue = isFamily &amp;amp;&amp;amp; isName &amp;amp;&amp;amp; isArch &amp;amp;&amp;amp; isVersion;&lt;br /&gt;
        }&lt;br /&gt;
        return retValue;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Determine the JDK Version Number ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/** Determine the JDK Version Number&lt;br /&gt;
 *&lt;br /&gt;
 * There is a human readible JDK version number available as a Java property. The property name is called &amp;quot;java.version&amp;quot;.&lt;br /&gt;
 * Unfortunately it is complicated to parse it mechanically. A somewhat better choice is the Java property called&lt;br /&gt;
 * &amp;quot;java.class.version&amp;quot;. The property value can be converted to a floating pointer value. JDK 1.1 implies 45.3. JDK 1.2&lt;br /&gt;
 * implies 46.0. JDK 1.3 implies 47.0. JDK 1.4 implies 48.0.&lt;br /&gt;
 * &lt;br /&gt;
 * java.class.version property value&lt;br /&gt;
 * &amp;lt;ul&amp;gt;&lt;br /&gt;
 * &amp;lt;li&amp;gt; JDK 1.1 = 45.3&lt;br /&gt;
 * &amp;lt;li&amp;gt; JDK 1.2 = 46.0&lt;br /&gt;
 * &amp;lt;li&amp;gt; JDK 1.3 = 47.0&lt;br /&gt;
 * &amp;lt;li&amp;gt; JDK 1.4 = 48.0&lt;br /&gt;
 * &amp;lt;/ul&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * @author Thomas Rischbeck &amp;lt;thomas.rischbeck@arjuna.ru&amp;gt;&lt;br /&gt;
 * @version $Id: VersionCheck.java 2342 2006-03-30 13:06:17Z  $&lt;br /&gt;
 */&lt;br /&gt;
public class VersionCheck {&lt;br /&gt;
   private static final String CLASS_VERSION = System.getProperty(&amp;quot;java.class.version&amp;quot;,&amp;quot;44.0&amp;quot;);&lt;br /&gt;
   private static final boolean IS_JDK_11 = (&amp;quot;46.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;gt; 0) &amp;amp;&amp;amp; (&amp;quot;45.3&amp;quot;.rupareTo(CLASS_VERSION) &amp;lt;= 0);&lt;br /&gt;
   private static final boolean IS_JDK_12 = (&amp;quot;47.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;gt; 0) &amp;amp;&amp;amp; (&amp;quot;46.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;lt;= 0);&lt;br /&gt;
   private static final boolean IS_JDK_13 = (&amp;quot;48.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;gt; 0) &amp;amp;&amp;amp; (&amp;quot;47.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;lt;= 0);&lt;br /&gt;
   private static final boolean IS_JDK_14 = (&amp;quot;49.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;gt; 0) &amp;amp;&amp;amp; (&amp;quot;48.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;lt;= 0);&lt;br /&gt;
   private static final boolean IS_JDK_13_OR_BELOW = IS_JDK_11 || IS_JDK_12 || IS_JDK_13;&lt;br /&gt;
   private static final boolean IS_JDK_14_OR_ABOVE = (&amp;quot;48.0&amp;quot;.rupareTo(CLASS_VERSION) &amp;lt;= 0);&lt;br /&gt;
&lt;br /&gt;
   public static final boolean isJDK11only()&lt;br /&gt;
   {&lt;br /&gt;
     return IS_JDK_11;&lt;br /&gt;
   }&lt;br /&gt;
   public static final boolean isJDK12only()&lt;br /&gt;
   {&lt;br /&gt;
     return IS_JDK_12;&lt;br /&gt;
   }&lt;br /&gt;
   public static final boolean isJDK13only()&lt;br /&gt;
   {&lt;br /&gt;
     return IS_JDK_13;&lt;br /&gt;
   }&lt;br /&gt;
   public static final boolean isJDK14only()&lt;br /&gt;
   {&lt;br /&gt;
     return IS_JDK_14;&lt;br /&gt;
   }&lt;br /&gt;
   public static final boolean isJDK13orBelow()&lt;br /&gt;
   {&lt;br /&gt;
      return IS_JDK_13_OR_BELOW;&lt;br /&gt;
   }&lt;br /&gt;
   public static final boolean isJDK14orAbove()&lt;br /&gt;
   {&lt;br /&gt;
      return IS_JDK_14_OR_ABOVE;&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get OS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * The contents of this file are subject to the terms of either the GNU&lt;br /&gt;
 * General Public License Version 2 only (&amp;quot;GPL&amp;quot;) or the Common Development&lt;br /&gt;
 * and Distribution License(&amp;quot;CDDL&amp;quot;) (collectively, the &amp;quot;License&amp;quot;).  You&lt;br /&gt;
 * may not use this file except in compliance with the License. You can obtain&lt;br /&gt;
 * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html&lt;br /&gt;
 * or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific&lt;br /&gt;
 * language governing permissions and limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 * When distributing the software, include this License Header Notice in each&lt;br /&gt;
 * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.&lt;br /&gt;
 * Sun designates this particular file as subject to the &amp;quot;Classpath&amp;quot; exception&lt;br /&gt;
 * as provided by Sun in the GPL Version 2 section of the License file that&lt;br /&gt;
 * accompanied this code.  If applicable, add the following below the License&lt;br /&gt;
 * Header, with the fields enclosed by brackets [] replaced by your own&lt;br /&gt;
 * identifying information: &amp;quot;Portions Copyrighted [year]&lt;br /&gt;
 * [name of copyright owner]&amp;quot;&lt;br /&gt;
 *&lt;br /&gt;
 * Contributor(s):&lt;br /&gt;
 *&lt;br /&gt;
 * If you wish your version of this file to be governed by only the CDDL or&lt;br /&gt;
 * only the GPL Version 2, indicate your decision by adding &amp;quot;[Contributor]&lt;br /&gt;
 * elects to include this software in this distribution under the [CDDL or GPL&lt;br /&gt;
 * Version 2] license.&amp;quot;  If you don&amp;quot;t indicate a single choice of license, a&lt;br /&gt;
 * recipient has the option to distribute your version of this file under&lt;br /&gt;
 * either the CDDL, the GPL Version 2 or to extend the choice of license to&lt;br /&gt;
 * its licensees as provided above.  However, if you add GPL Version 2 code&lt;br /&gt;
 * and therefore, elected the GPL Version 2 license, then the option applies&lt;br /&gt;
 * only if the new code is made subject to such option by the copyright&lt;br /&gt;
 * holder.&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
 * OS.java&lt;br /&gt;
 *&lt;br /&gt;
 * Created on December 8, 2001, 5:48 PM&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.io.File;&lt;br /&gt;
/**&lt;br /&gt;
 *&lt;br /&gt;
 * @author  bnevins&lt;br /&gt;
 * @version&lt;br /&gt;
 */&lt;br /&gt;
public class OS&lt;br /&gt;
{&lt;br /&gt;
    private OS()&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isWindows()&lt;br /&gt;
    {&lt;br /&gt;
        return File.separatorChar == &amp;quot;\\&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isUNIX()&lt;br /&gt;
    {&lt;br /&gt;
        return File.separatorChar == &amp;quot;/&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isUnix()&lt;br /&gt;
    {&lt;br /&gt;
        // convenience method...&lt;br /&gt;
        return isUNIX();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isSun()&lt;br /&gt;
    {&lt;br /&gt;
        return isName(&amp;quot;sun&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isSolaris10()&lt;br /&gt;
    {&lt;br /&gt;
        return isSun() &amp;amp;&amp;amp; isVersion(&amp;quot;5.10&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isSunSparc()&lt;br /&gt;
    {&lt;br /&gt;
        return isName(&amp;quot;sun&amp;quot;) &amp;amp;&amp;amp; isArch(&amp;quot;sparc&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isSunX86()&lt;br /&gt;
    {&lt;br /&gt;
        return isName(&amp;quot;sun&amp;quot;) &amp;amp;&amp;amp; isArch(&amp;quot;x86&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isName(&amp;quot;linux&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isDarwin()&lt;br /&gt;
    {&lt;br /&gt;
        return isName(&amp;quot;Mac OS X&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isWindowsForSure()&lt;br /&gt;
    {&lt;br /&gt;
        return isName(&amp;quot;windows&amp;quot;) &amp;amp;&amp;amp; isWindows();&lt;br /&gt;
    }&lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    //  There are 10 known Linux versions!&lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isDebianLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/debian_version&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isFedoraLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/fedora-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isGentooLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/gentoo-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isKnoppixLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/knoppix_version&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isMandrakeLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/mandrake-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isMandrivaLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/mandriva-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isRedHatLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/redhat-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isSlackwareLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/slackware-version&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isSuSELinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/SuSE-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static boolean isUbuntuLinux()&lt;br /&gt;
    {&lt;br /&gt;
        return isLinux() &amp;amp;&amp;amp; new File(&amp;quot;/etc/lsb-release&amp;quot;).exists();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    private static boolean isArch(String name)&lt;br /&gt;
    {&lt;br /&gt;
        String archname = System.getProperty(&amp;quot;os.arch&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        if(archname == null || archname.length() &amp;lt;= 0)&lt;br /&gt;
            return false;&lt;br /&gt;
        &lt;br /&gt;
        // case insensitive compare...&lt;br /&gt;
        archname= archname.toLowerCase();&lt;br /&gt;
        name= name.toLowerCase();&lt;br /&gt;
        &lt;br /&gt;
        if(archname.indexOf(name) &amp;gt;= 0)&lt;br /&gt;
            return true;&lt;br /&gt;
        &lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    private static boolean isName(String name)&lt;br /&gt;
    {&lt;br /&gt;
        String osname = System.getProperty(&amp;quot;os.name&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        if(osname == null || osname.length() &amp;lt;= 0)&lt;br /&gt;
            return false;&lt;br /&gt;
        &lt;br /&gt;
        // case insensitive compare...&lt;br /&gt;
        osname  = osname.toLowerCase();&lt;br /&gt;
        name  = name.toLowerCase();&lt;br /&gt;
        &lt;br /&gt;
        if(osname.indexOf(name) &amp;gt;= 0)&lt;br /&gt;
            return true;&lt;br /&gt;
        &lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    private static boolean isVersion(String version)&lt;br /&gt;
    {&lt;br /&gt;
        String osversion = System.getProperty(&amp;quot;os.version&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        if(osversion == null || osversion.length() &amp;lt;= 0 || version == null || version.length() &amp;lt;= 0 )&lt;br /&gt;
            return false;&lt;br /&gt;
        &lt;br /&gt;
        if(osversion.equals(version))&lt;br /&gt;
            return true;&lt;br /&gt;
        &lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    ///////////////////////////////////////////////////////////////////////////&lt;br /&gt;
    &lt;br /&gt;
    public static final String WINDOWS_BATCH_FILE_EXTENSION = &amp;quot;.bat&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * @param args the command line arguments&lt;br /&gt;
     */&lt;br /&gt;
    public static void main(String args[])&lt;br /&gt;
    {&lt;br /&gt;
        System.out.println(&amp;quot;os.version = &amp;quot;                  + System.getProperty(&amp;quot;os.version&amp;quot;));&lt;br /&gt;
        System.out.println(&amp;quot;os.name = &amp;quot;                     + System.getProperty(&amp;quot;os.name&amp;quot;));&lt;br /&gt;
        System.out.println(&amp;quot;os.arch = &amp;quot;                     + System.getProperty(&amp;quot;os.arch&amp;quot;));&lt;br /&gt;
        System.out.println(&amp;quot;isUNIX() returned: &amp;quot;            + isUNIX());&lt;br /&gt;
        System.out.println(&amp;quot;isWindows() returned: &amp;quot;         + isWindows());&lt;br /&gt;
        System.out.println(&amp;quot;isWindowsForSure() returned: &amp;quot;  + isWindowsForSure());&lt;br /&gt;
        System.out.println(&amp;quot;isSun() returned: &amp;quot;             + isSun());&lt;br /&gt;
        System.out.println(&amp;quot;isLinux() returned: &amp;quot;           + isLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isDebianLinux() returned: &amp;quot;     + isDebianLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isFedoraLinux() returned: &amp;quot;     + isFedoraLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isGentooLinux() returned: &amp;quot;     + isGentooLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isKnoppixLinux() returned: &amp;quot;    + isKnoppixLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isMandrakeLinux() returned: &amp;quot;   + isMandrakeLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isMandrivaLinux() returned: &amp;quot;   + isMandrivaLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isRedHatLinux() returned: &amp;quot;     + isRedHatLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isSlackwareLinux() returned: &amp;quot;  + isSlackwareLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isSuSELinux() returned: &amp;quot;       + isSuSELinux());&lt;br /&gt;
        System.out.println(&amp;quot;isUbuntuLinux() returned: &amp;quot;     + isUbuntuLinux());&lt;br /&gt;
        System.out.println(&amp;quot;isSunX86() returned: &amp;quot;          + isSunX86());&lt;br /&gt;
        System.out.println(&amp;quot;isSunSparc() returned: &amp;quot;        + isSunSparc());&lt;br /&gt;
        System.out.println(&amp;quot;isDarwin() returned: &amp;quot;          + isDarwin());&lt;br /&gt;
        System.out.println(&amp;quot;isSolaris10() returned: &amp;quot;       + isSolaris10());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>