===(object)
click to toggle source
def ===(object)
super || object.java_kind_of?(java_class)
end
java_class()
click to toggle source
def java_class
names = self.name.split('::')
package = Java
names[0..-2].each do |module_name|
package = package.__send__(module_name.downcase)
end
package.__send__(names[-1])
end
javaify(arg)
click to toggle source
def javaify(arg)
if Array === arg
arg.map{|a| javaify(a)}
else
case(arg)
when Regexp
java.util.regex.Pattern.compile(arg.source)
when Symbol
arg.to_s
when IO
IOWriter.new(arg)
else
arg
end
end
end
new(*args)
click to toggle source
def new(*args)
begin
java_class.new(*javaify(args))
rescue ArgumentError => e
e.message << "\n#{java_class.name}"
raise e
rescue NameError => e
e.message << "\n args: #{args.inspect}"
raise e
end
end