public class JREVersionDetector extends Object
System.getProperty("java.version")
on the JRE at the specified
location.
Note that the location is the location of the JRE. The class will find by itself the path of the corresponding Java executable, depending
on the platform.Modifier and Type | Class and Description |
---|---|
static class |
JREVersionDetector.JREConfig
Represents the configuration of the JRE.
|
Modifier and Type | Field and Description |
---|---|
static short |
ARCH_32BIT
The type for 32 bits architectures.
|
static short |
ARCH_64BIT
The type for 64 bits architectures.
|
static short |
ARCH_ALL
The type for all architectures.
|
Constructor and Description |
---|
JREVersionDetector()
Constructor, with a default timeOut of 200 ms.
|
JREVersionDetector(long timeOut)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static long |
getDefaultTimeOut()
Return the default timeOut.
|
JREVersionDetector.JREConfig |
getJREConfiguration(File jvmLocation)
Return the version and the architecture of the JRE at a specified location.
|
int |
getMajorVersion(File jvmLocation)
Return the major version of a JRE at a specified location.
|
int |
getMajorVersion(File jvmLocation,
short arch)
Return the major version of a JRE at a specified location.
|
long |
getTimeOut()
Return the timeOut.
|
String |
getVersion(File jvmLocation)
Return the version of the JRE at a specified location.
|
boolean |
isAtLeastVersion(File jvmLocation,
String version)
Return true if the version of the JRE at a specified location is at least equal to the specified version.
|
boolean |
isAtLeastVersion(File jvmLocation,
String version,
short arch)
Return true if the version of the JRE at a specified location is at least equal to the specified version.
|
boolean |
isBetweenVersions(File jvmLocation,
String atLeastVersion,
String atMostVersion)
Return true if the version of the JRE at a specified location is between the atLeastVersion and atMostVersion.
|
boolean |
isBetweenVersions(File jvmLocation,
String atLeastVersion,
String atMostVersion,
boolean strict)
Return true if the version of the JRE at a specified location is between the atLeastVersion and atMostVersion.
|
boolean |
isBetweenVersions(File jvmLocation,
String atLeastVersion,
String atMostVersion,
short arch)
Return true if the version of the JRE at a specified location is between the atLeastVersion and atMostVersion.
|
boolean |
isBetweenVersions(File jvmLocation,
String atLeastVersion,
String atMostVersion,
short arch,
boolean strict)
Return true if the version of the JRE at a specified location is between the atLeastVersion and atMostVersion.
|
static void |
setDefaultTimeOut(long timeOut)
Set the default timeOut.
|
void |
setTimeOut(long timeOut)
Set the timeOut.
|
public static final short ARCH_ALL
public static final short ARCH_32BIT
public static final short ARCH_64BIT
public JREVersionDetector()
public JREVersionDetector(long timeOut)
timeOut
- the timeOut in mspublic static void setDefaultTimeOut(long timeOut)
timeOut
- the timeOut in mspublic static long getDefaultTimeOut()
public void setTimeOut(long timeOut)
timeOut
- the timeOut in mspublic long getTimeOut()
public JREVersionDetector.JREConfig getJREConfiguration(File jvmLocation)
System.getProperty("java.version")
on the JRE at the specified location.jvmLocation
- the JRE locationpublic String getVersion(File jvmLocation)
System.getProperty("java.version")
on the JRE at the specified location.jvmLocation
- the JRE locationpublic int getMajorVersion(File jvmLocation)
jvmLocation
- the JRE locationpublic int getMajorVersion(File jvmLocation, short arch)
jvmLocation
- the JRE locationarch
- the architecturepublic boolean isAtLeastVersion(File jvmLocation, String version)
SystemUtils.isAtLeastVersion(java.lang.String, java.lang.String)
.jvmLocation
- the JRE locationversion
- the specified Java versionpublic boolean isAtLeastVersion(File jvmLocation, String version, short arch)
SystemUtils.isAtLeastVersion(java.lang.String, java.lang.String)
.
Note: the architecture argument can have one of the following values:
ARCH_32BIT
: for a 32 bit architectureARCH_64BIT
: for a 64 bit architectureARCH_ALL
: for any architecturejvmLocation
- the JRE locationversion
- the specified Java versionarch
- the architecturepublic boolean isBetweenVersions(File jvmLocation, String atLeastVersion, String atMostVersion)
SystemUtils.isBetweenVersions(java.lang.String, java.lang.String, java.lang.String)
.jvmLocation
- the JRE locationatLeastVersion
- the specified at least Java versionatMostVersion
- the specified at most Java versionpublic boolean isBetweenVersions(File jvmLocation, String atLeastVersion, String atMostVersion, boolean strict)
strict
parameter is false. See
SystemUtils.isBetweenVersions(java.lang.String, java.lang.String, java.lang.String, boolean)
.jvmLocation
- the JRE locationatLeastVersion
- the specified at least Java versionatMostVersion
- the specified at most Java versionstrict
- true if the at most Java version is excludedpublic boolean isBetweenVersions(File jvmLocation, String atLeastVersion, String atMostVersion, short arch)
strict
parameter is false. See
SystemUtils.isBetweenVersions(java.lang.String, java.lang.String, java.lang.String, boolean)
.
Note: the architecture argument can have one of the following values:
ARCH_32BIT
: for a 32 bit architectureARCH_64BIT
: for a 64 bit architectureARCH_ALL
: for any architecturejvmLocation
- the JRE locationatLeastVersion
- the specified at least Java versionatMostVersion
- the specified at most Java versionarch
- the architecturepublic boolean isBetweenVersions(File jvmLocation, String atLeastVersion, String atMostVersion, short arch, boolean strict)
strict
parameter is false. See
SystemUtils.isBetweenVersions(java.lang.String, java.lang.String, java.lang.String, boolean)
.
Note: the architecture argument can have one of the following values:
ARCH_32BIT
: for a 32 bit architectureARCH_64BIT
: for a 64 bit architectureARCH_ALL
: for any architecturejvmLocation
- the JRE locationatLeastVersion
- the specified at least Java versionatMostVersion
- the specified at most Java versionarch
- the architecturestrict
- true if the at most Java version is excluded