org.jruby.javasupport
Class JavaUtil

java.lang.Object
  extended by org.jruby.javasupport.JavaUtil

public class JavaUtil
extends java.lang.Object

Author:
Jan Arne Petersen, Alan Moore

Nested Class Summary
static interface JavaUtil.JavaConverter
           
static interface JavaUtil.RubyConverter
           
 
Field Summary
static JavaUtil.JavaConverter BYTELIST_CONVERTER
           
static JavaUtil.JavaConverter JAVA_BIGINTEGER_CONVERTER
           
static JavaUtil.JavaConverter JAVA_BOOLEAN_CONVERTER
           
static JavaUtil.JavaConverter JAVA_BYTE_CONVERTER
           
static JavaUtil.JavaConverter JAVA_CHAR_CONVERTER
           
static JavaUtil.JavaConverter JAVA_DEFAULT_CONVERTER
           
static JavaUtil.JavaConverter JAVA_DOUBLE_CONVERTER
           
static JavaUtil.JavaConverter JAVA_FLOAT_CONVERTER
           
static JavaUtil.JavaConverter JAVA_INT_CONVERTER
           
static JavaUtil.JavaConverter JAVA_LONG_CONVERTER
           
static JavaUtil.JavaConverter JAVA_SHORT_CONVERTER
           
static JavaUtil.JavaConverter JAVA_STRING_CONVERTER
           
static JavaUtil.RubyConverter RUBY_BOOLEAN_CONVERTER
           
static JavaUtil.RubyConverter RUBY_BYTE_CONVERTER
           
static java.util.Map<java.lang.Class,JavaUtil.RubyConverter> RUBY_CONVERTERS
           
static JavaUtil.RubyConverter RUBY_DOUBLE_CONVERTER
           
static JavaUtil.RubyConverter RUBY_FLOAT_CONVERTER
           
static JavaUtil.RubyConverter RUBY_INTEGER_CONVERTER
           
static JavaUtil.RubyConverter RUBY_LONG_CONVERTER
           
static JavaUtil.RubyConverter RUBY_SHORT_CONVERTER
           
 
Constructor Summary
JavaUtil()
           
 
Method Summary
static java.lang.Object convertArgument(Ruby runtime, java.lang.Object argument, java.lang.Class<?> parameterType)
           
static IRubyObject[] convertJavaArrayToRuby(Ruby runtime, java.lang.Object[] objects)
           
static IRubyObject convertJavaToRuby(Ruby runtime, java.lang.Object object)
          Converts object to the corresponding Ruby type; however, for non-primitives, a JavaObject instance is returned.
static IRubyObject convertJavaToRuby(Ruby runtime, java.lang.Object object, java.lang.Class javaClass)
           
static IRubyObject convertJavaToUsableRubyObject(Ruby runtime, java.lang.Object object)
          Returns a usable RubyObject; for types that are not converted to Ruby native types, a Java proxy will be returned.
static java.lang.Object convertRubyToJava(IRubyObject rubyObject)
           
static java.lang.Object convertRubyToJava(IRubyObject rubyObject, java.lang.Class javaClass)
           
static JavaUtil.JavaConverter getJavaConverter(java.lang.Class clazz)
           
static boolean isDuckTypeConvertable(java.lang.Class providedArgumentType, java.lang.Class parameterType)
           
static java.lang.Class<?> primitiveToWrapper(java.lang.Class<?> type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RUBY_BOOLEAN_CONVERTER

public static final JavaUtil.RubyConverter RUBY_BOOLEAN_CONVERTER

RUBY_BYTE_CONVERTER

public static final JavaUtil.RubyConverter RUBY_BYTE_CONVERTER

RUBY_SHORT_CONVERTER

public static final JavaUtil.RubyConverter RUBY_SHORT_CONVERTER

RUBY_INTEGER_CONVERTER

public static final JavaUtil.RubyConverter RUBY_INTEGER_CONVERTER

RUBY_LONG_CONVERTER

public static final JavaUtil.RubyConverter RUBY_LONG_CONVERTER

RUBY_FLOAT_CONVERTER

public static final JavaUtil.RubyConverter RUBY_FLOAT_CONVERTER

RUBY_DOUBLE_CONVERTER

public static final JavaUtil.RubyConverter RUBY_DOUBLE_CONVERTER

RUBY_CONVERTERS

public static final java.util.Map<java.lang.Class,JavaUtil.RubyConverter> RUBY_CONVERTERS

JAVA_DEFAULT_CONVERTER

public static final JavaUtil.JavaConverter JAVA_DEFAULT_CONVERTER

JAVA_BOOLEAN_CONVERTER

public static final JavaUtil.JavaConverter JAVA_BOOLEAN_CONVERTER

JAVA_FLOAT_CONVERTER

public static final JavaUtil.JavaConverter JAVA_FLOAT_CONVERTER

JAVA_DOUBLE_CONVERTER

public static final JavaUtil.JavaConverter JAVA_DOUBLE_CONVERTER

JAVA_CHAR_CONVERTER

public static final JavaUtil.JavaConverter JAVA_CHAR_CONVERTER

JAVA_BYTE_CONVERTER

public static final JavaUtil.JavaConverter JAVA_BYTE_CONVERTER

JAVA_SHORT_CONVERTER

public static final JavaUtil.JavaConverter JAVA_SHORT_CONVERTER

JAVA_INT_CONVERTER

public static final JavaUtil.JavaConverter JAVA_INT_CONVERTER

JAVA_LONG_CONVERTER

public static final JavaUtil.JavaConverter JAVA_LONG_CONVERTER

JAVA_STRING_CONVERTER

public static final JavaUtil.JavaConverter JAVA_STRING_CONVERTER

BYTELIST_CONVERTER

public static final JavaUtil.JavaConverter BYTELIST_CONVERTER

JAVA_BIGINTEGER_CONVERTER

public static final JavaUtil.JavaConverter JAVA_BIGINTEGER_CONVERTER
Constructor Detail

JavaUtil

public JavaUtil()
Method Detail

convertRubyToJava

public static java.lang.Object convertRubyToJava(IRubyObject rubyObject)

convertRubyToJava

public static java.lang.Object convertRubyToJava(IRubyObject rubyObject,
                                                 java.lang.Class javaClass)

convertJavaArrayToRuby

public static IRubyObject[] convertJavaArrayToRuby(Ruby runtime,
                                                   java.lang.Object[] objects)

getJavaConverter

public static JavaUtil.JavaConverter getJavaConverter(java.lang.Class clazz)

convertJavaToRuby

public static IRubyObject convertJavaToRuby(Ruby runtime,
                                            java.lang.Object object)
Converts object to the corresponding Ruby type; however, for non-primitives, a JavaObject instance is returned. This must be subsequently wrapped by calling one of Java.wrap, Java.java_to_ruby, Java.new_instance_for, or Java.getInstance, depending on context.

Parameters:
runtime -
object -
Returns:
corresponding Ruby type, or a JavaObject instance

convertJavaToRuby

public static IRubyObject convertJavaToRuby(Ruby runtime,
                                            java.lang.Object object,
                                            java.lang.Class javaClass)

convertJavaToUsableRubyObject

public static IRubyObject convertJavaToUsableRubyObject(Ruby runtime,
                                                        java.lang.Object object)
Returns a usable RubyObject; for types that are not converted to Ruby native types, a Java proxy will be returned.

Parameters:
runtime -
object -
Returns:
corresponding Ruby type, or a functional Java proxy

primitiveToWrapper

public static java.lang.Class<?> primitiveToWrapper(java.lang.Class<?> type)

convertArgument

public static java.lang.Object convertArgument(Ruby runtime,
                                               java.lang.Object argument,
                                               java.lang.Class<?> parameterType)

isDuckTypeConvertable

public static boolean isDuckTypeConvertable(java.lang.Class providedArgumentType,
                                            java.lang.Class parameterType)


Copyright © 2002-2007 JRuby Team. All Rights Reserved.