com.kenai.jaffl
Class Platform

java.lang.Object
  extended by com.kenai.jaffl.Platform

public abstract class Platform
extends Object


Nested Class Summary
static class Platform.CPU
          The common names of cpu architectures.
static class Platform.OS
          The common names of operating systems.
 
Field Summary
protected  Pattern libPattern
           
 
Method Summary
 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.
 String getName()
          Gets the name of this Platform.
 Platform.OS getOS()
          Gets the current Operating System.
static Platform getPlatform()
          Gets the current Platform
 boolean isBSD()
           
 boolean isUnix()
           
 String locateLibrary(String libName, List<String> libraryPath)
          Searches through a list of directories for a native library.
 int longSize()
          Gets the size of a C 'long' on the native platform.
 String mapLibraryName(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
 

Field Detail

libPattern

protected final Pattern libPattern
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

isBSD

public final boolean isBSD()

isUnix

public final boolean isUnix()

longSize

public final 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 String getName()
Gets the name of this Platform.

Returns:
The name of this platform.

mapLibraryName

public String mapLibraryName(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.

locateLibrary

public String locateLibrary(String libName,
                            List<String> libraryPath)
Searches through a list of directories for a native library.

Parameters:
libName - the base name (e.g. "c") of the library to locate
libraryPath - the list of directories to search
Returns:
the path of the library


Copyright © 2011. All Rights Reserved.