org.apache.commons.vfs.util
Class Os

java.lang.Object
  extended by org.apache.commons.vfs.util.Os

public final class Os
extends java.lang.Object

Class to help determining the OS.

Author:
Stefan Bodewig, Magesh Umasankar, Peter Donald

Field Summary
private static OsFamily[] ALL_FAMILIES
           
private static OsFamily[] OS_ALL_FAMILIES
           
private static java.lang.String OS_ARCH
           
private static OsFamily OS_FAMILY
           
static OsFamily OS_FAMILY_DOS
          All DOS based OSes.
static OsFamily OS_FAMILY_MAC
          All Mac based OSes.
static OsFamily OS_FAMILY_NETWARE
          Netware
static OsFamily OS_FAMILY_OS2
          OS/2
static OsFamily OS_FAMILY_OSX
          OSX
static OsFamily OS_FAMILY_UNIX
          All UNIX based OSes.
static OsFamily OS_FAMILY_WIN9X
          All Windows 9x based OSes.
static OsFamily OS_FAMILY_WINDOWS
          All Windows based OSes.
static OsFamily OS_FAMILY_WINNT
          All Windows NT based OSes.
private static java.lang.String OS_NAME
           
private static java.lang.String OS_VERSION
           
private static java.lang.String PATH_SEP
           
 
Constructor Summary
private Os()
          Private constructor to block instantiation.
 
Method Summary
private static boolean archMatches(java.lang.String arch)
           
private static OsFamily[] determineAllFamilies()
           
private static OsFamily determineOsFamily()
           
private static boolean familyMatches(OsFamily family)
           
static OsFamily getFamily(java.lang.String name)
          Locates an OsFamily by name (case-insensitive).
static boolean isArch(java.lang.String arch)
          Determines if the OS on which Ant is executing matches the given OS architecture.
static boolean isFamily(OsFamily family)
          Determines if the OS on which Ant is executing matches the given OS family.
static boolean isFamily(java.lang.String family)
          Determines if the OS on which Ant is executing matches the given OS family.
static boolean isName(java.lang.String name)
          Determines if the OS on which Ant is executing matches the given OS name.
static boolean isOs(OsFamily family, java.lang.String name, java.lang.String arch, java.lang.String version)
          Determines if the OS on which Ant is executing matches the given OS family, name, architecture and version
static boolean isOs(java.lang.String family, java.lang.String name, java.lang.String arch, java.lang.String version)
          Determines if the OS on which Ant is executing matches the given OS family, name, architecture and version.
static boolean isVersion(java.lang.String version)
          Determines if the OS on which Ant is executing matches the given OS version.
private static boolean nameMatches(java.lang.String name)
           
private static boolean versionMatches(java.lang.String version)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OS_NAME

private static final java.lang.String OS_NAME

OS_ARCH

private static final java.lang.String OS_ARCH

OS_VERSION

private static final java.lang.String OS_VERSION

PATH_SEP

private static final java.lang.String PATH_SEP

OS_FAMILY

private static final OsFamily OS_FAMILY

OS_ALL_FAMILIES

private static final OsFamily[] OS_ALL_FAMILIES

OS_FAMILY_WINDOWS

public static final OsFamily OS_FAMILY_WINDOWS
All Windows based OSes.


OS_FAMILY_DOS

public static final OsFamily OS_FAMILY_DOS
All DOS based OSes.


OS_FAMILY_WINNT

public static final OsFamily OS_FAMILY_WINNT
All Windows NT based OSes.


OS_FAMILY_WIN9X

public static final OsFamily OS_FAMILY_WIN9X
All Windows 9x based OSes.


OS_FAMILY_OS2

public static final OsFamily OS_FAMILY_OS2
OS/2


OS_FAMILY_NETWARE

public static final OsFamily OS_FAMILY_NETWARE
Netware


OS_FAMILY_UNIX

public static final OsFamily OS_FAMILY_UNIX
All UNIX based OSes.


OS_FAMILY_MAC

public static final OsFamily OS_FAMILY_MAC
All Mac based OSes.


OS_FAMILY_OSX

public static final OsFamily OS_FAMILY_OSX
OSX


ALL_FAMILIES

private static final OsFamily[] ALL_FAMILIES
Constructor Detail

Os

private Os()
Private constructor to block instantiation.

Method Detail

isVersion

public static boolean isVersion(java.lang.String version)
Determines if the OS on which Ant is executing matches the given OS version.


isArch

public static boolean isArch(java.lang.String arch)
Determines if the OS on which Ant is executing matches the given OS architecture.


isFamily

public static boolean isFamily(java.lang.String family)
Determines if the OS on which Ant is executing matches the given OS family.


isFamily

public static boolean isFamily(OsFamily family)
Determines if the OS on which Ant is executing matches the given OS family.


isName

public static boolean isName(java.lang.String name)
Determines if the OS on which Ant is executing matches the given OS name.

Parameters:
name - Description of Parameter
Returns:
The Name value
Since:
1.7

isOs

public static boolean isOs(java.lang.String family,
                           java.lang.String name,
                           java.lang.String arch,
                           java.lang.String version)
Determines if the OS on which Ant is executing matches the given OS family, name, architecture and version.

Parameters:
family - The OS family
name - The OS name
arch - The OS architecture
version - The OS version
Returns:
The Os value

isOs

public static boolean isOs(OsFamily family,
                           java.lang.String name,
                           java.lang.String arch,
                           java.lang.String version)
Determines if the OS on which Ant is executing matches the given OS family, name, architecture and version

Parameters:
family - The OS family
name - The OS name
arch - The OS architecture
version - The OS version
Returns:
The Os value

getFamily

public static OsFamily getFamily(java.lang.String name)
Locates an OsFamily by name (case-insensitive).

Returns:
the OS family, or null if not found.

versionMatches

private static boolean versionMatches(java.lang.String version)

archMatches

private static boolean archMatches(java.lang.String arch)

nameMatches

private static boolean nameMatches(java.lang.String name)

familyMatches

private static boolean familyMatches(OsFamily family)

determineAllFamilies

private static OsFamily[] determineAllFamilies()

determineOsFamily

private static OsFamily determineOsFamily()