module Buildr::Nailgun::Util
Public Instance Methods
add_to_sysloader(path)
click to toggle source
# File addon/buildr/nailgun.rb, line 67 def add_to_sysloader(path) sysloader = java.lang.ClassLoader.getSystemClassLoader add_url_method = java.lang.Class.forName('java.net.URLClassLoader'). getDeclaredMethod('addURL', [java.net.URL.java_class].to_java(java.lang.Class)) add_url_method.setAccessible(true) add_url_method.invoke(sysloader, [java.io.File.new(path).toURI.toURL].to_java(java.net.URL)) end
ctor(on_class, *args)
click to toggle source
invoke a java constructor
# File addon/buildr/nailgun.rb, line 76 def ctor(on_class, *args) parameters = [] classes = [] args.each do |obj| case obj when nil classes.push(nil) parameters.push(nil) when Hash vclass = obj.keys.first value = obj[vclass] classes.push(vclass.java_class) parameters.push(value) else parameters.push obj classes.push obj.class.java_class end end on_class = [on_class.java_class].to_java(java.lang.Class)[0] ctor = on_class.getDeclaredConstructor(classes.to_java(java.lang.Class)) ctor.setAccessible(true) ctor.newInstance(parameters.to_java(java.lang.Object)) end