Class PlatformDescription


  • public final class PlatformDescription
    extends java.lang.Object
    List of constants describing the currently used platform.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ANDROID_VERSION
      Android version.
      static java.lang.String DALVIK
      JVM_NAME prefix for Dalvik/Android
      static java.lang.String GAE_VERSION
      Google App Engine version or null is we are not on GAE
      static java.lang.String GNU
      JVM_NAME prefix for GCJ
      static java.lang.String HOTSPOT
      JVM_NAME prefix for Java HotSpot
      static boolean IS_ANDROID_OPENJDK
      Flag telling if this version of Android is based on the OpenJDK
      static java.lang.String JVM_NAME
      JVM name
      static java.lang.String OPENJDK
      JVM_NAME prefix for the OpenJDK
      static java.lang.String PERC
      JVM_NAME prefix for Aonix PERC
      static java.lang.String SPECIFICATION_VERSION
      Java specification version
      static java.lang.String SUN
      Deprecated.
      Use HOTSPOT instead
      static java.lang.String VENDOR
      VM vendor name
      static java.lang.String VENDOR_VERSION
      VM vendor version
      static java.lang.String VM_INFO
      JVM version
      static java.lang.String VM_VERSION
      JVM version
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private PlatformDescription()  
    • Field Detail

      • HOTSPOT

        public static final java.lang.String HOTSPOT
        JVM_NAME prefix for Java HotSpot
        See Also:
        Constant Field Values
      • SUN

        @Deprecated
        public static final java.lang.String SUN
        Deprecated.
        Use HOTSPOT instead
        JVM_NAME prefix for Java HotSpot
        See Also:
        Constant Field Values
      • OPENJDK

        public static final java.lang.String OPENJDK
        JVM_NAME prefix for the OpenJDK
        See Also:
        Constant Field Values
      • PERC

        public static final java.lang.String PERC
        JVM_NAME prefix for Aonix PERC
        See Also:
        Constant Field Values
      • DALVIK

        public static final java.lang.String DALVIK
        JVM_NAME prefix for Dalvik/Android
        See Also:
        Constant Field Values
      • SPECIFICATION_VERSION

        public static final java.lang.String SPECIFICATION_VERSION
        Java specification version
      • VM_VERSION

        public static final java.lang.String VM_VERSION
        JVM version
      • VM_INFO

        public static final java.lang.String VM_INFO
        JVM version
      • VENDOR_VERSION

        public static final java.lang.String VENDOR_VERSION
        VM vendor version
      • VENDOR

        public static final java.lang.String VENDOR
        VM vendor name
      • JVM_NAME

        public static final java.lang.String JVM_NAME
        JVM name
      • ANDROID_VERSION

        public static final int ANDROID_VERSION
        Android version. Will be 0 for none android platform
      • IS_ANDROID_OPENJDK

        public static final boolean IS_ANDROID_OPENJDK
        Flag telling if this version of Android is based on the OpenJDK
      • GAE_VERSION

        public static final java.lang.String GAE_VERSION
        Google App Engine version or null is we are not on GAE
    • Constructor Detail

      • PlatformDescription

        private PlatformDescription()
    • Method Detail

      • describePlatform

        public static java.lang.String describePlatform()
        Describes the platform. Outputs Java version and vendor.
        Returns:
        Description of the current platform
      • isThisJVM

        public static boolean isThisJVM​(java.lang.String name)
        Check if the current JVM is of the type passed in parameter. Normally, this will be a constant from this class. We basically do System.getProperty("java.vm.name").startWith(name).
        Parameters:
        name - jvm name we are looking for
        Returns:
        if it's the requested JVM
      • isAndroidOpenJDK

        public static boolean isAndroidOpenJDK()
        Check if this JVM is an Android JVM based on OpenJDK.
        Returns:
        if it's an Android version based on the OpenJDK. Will return false if this JVM isn't an Android JVM at all
      • getIsAndroidOpenJDK

        private static boolean getIsAndroidOpenJDK()
      • isAfterJigsaw

        public static boolean isAfterJigsaw()
        Tells if the current JVM is running Java 9 or above
        Returns:
        if the current JVM is Java 9 or above
      • isAfterJava11

        public static boolean isAfterJava11()
        Tells if the current JVM is running Java 11 or above
        Returns:
        if the current JVM is Java 11 or above
      • isGoogleAppEngine

        public static boolean isGoogleAppEngine()
      • getGaeRuntimeVersion

        private static java.lang.String getGaeRuntimeVersion()
      • getAndroidVersion

        private static int getAndroidVersion()
      • getAndroidVersion0

        private static int getAndroidVersion0()
      • getOldAndroidVersion

        private static int getOldAndroidVersion​(java.lang.Class<?> versionClass)