Class Platform


  • public abstract class Platform
    extends java.lang.Object
    Convenience class to interrogate the system about various platform-specific details.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Platform.CPU
      The common names of cpu architectures.
      static class  Platform.OS
      The common names of operating systems.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      long addressMask()
      Gets the 32/64bit mask of a C address/pointer on the native platform.
      int addressSize()
      Gets the size of a C address/pointer on the native platform.
      Platform.CPU getCPU()
      Gets the current processor architecture the JVM is running on.
      int getJavaMajorVersion()
      Gets the version of the Java Virtual Machine (JVM) jffi is running on.
      java.lang.String getLibraryNamePattern()
      Gets the regex string used to match platform-specific libraries
      java.lang.String getName()
      Gets the name of this Platform.
      Platform.OS getOS()
      Gets the current Operating System.
      static Platform getPlatform()
      Gets the current Platform
      boolean isSupported()
      Checks if the current platform is supported by JFFI.
      abstract int longSize()
      Gets the size of a C 'long' on the native platform.
      java.lang.String mapLibraryName​(java.lang.String libName)
      Maps from a generic library name (e.g.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getPlatform

        public static final Platform getPlatform()
        Gets the current Platform
        Returns:
        The current platform.
      • getOS

        public final Platform.OS getOS()
        Gets the current Operating System.
        Returns:
        A OS value representing the current Operating System.
      • getCPU

        public final Platform.CPU getCPU()
        Gets the current processor architecture the JVM is running on.
        Returns:
        A CPU value representing the current processor architecture.
      • getJavaMajorVersion

        public final int getJavaMajorVersion()
        Gets the version of the Java Virtual Machine (JVM) jffi is running on.
        Returns:
        A number representing the java version. e.g. 5 for java 1.5, 6 for java 1.6
      • longSize

        public abstract int longSize()
        Gets the size of a C 'long' on the native platform.
        Returns:
        the size of a long in bits
      • addressSize

        public final int addressSize()
        Gets the size of a C address/pointer on the native platform.
        Returns:
        the size of a pointer in bits
      • addressMask

        public final long addressMask()
        Gets the 32/64bit mask of a C address/pointer on the native platform.
        Returns:
        the size of a pointer in bits
      • getName

        public java.lang.String getName()
        Gets the name of this Platform.
        Returns:
        The name of this platform.
      • mapLibraryName

        public java.lang.String mapLibraryName​(java.lang.String libName)
        Maps from a generic library name (e.g. "c") to the platform specific library name.
        Parameters:
        libName - The library name to map
        Returns:
        The mapped library name.
      • getLibraryNamePattern

        public java.lang.String getLibraryNamePattern()
        Gets the regex string used to match platform-specific libraries
        Returns:
      • isSupported

        public boolean isSupported()
        Checks if the current platform is supported by JFFI.
        Returns:
        true if the platform is supported, else false.