class SysInfo

def guess_java

Determine the values for vm, os, impl, and arch when running on Java.
def guess_java
  vm, os, impl, arch = :java, :unknown, :unknown, :unknown
  require 'java'
  include_class java.lang.System unless defined?(System)
  
  osname = System.getProperty("os.name")
  IMPLEMENTATIONS.each do |r, o, i|
    next unless osname =~ r
    os, impl = [o, i]
    break
  end
  
  osarch = System.getProperty("os.arch")
  ARCHITECTURES.each do |r, a|
    next unless osarch =~ r
    arch = a
    break
  end
  [vm, os, impl, arch]
end