Class: JavaBridge
- Inherits:
-
BaseBridge
- Object
- BaseBridge
- JavaBridge
- Defined in:
- lib/libisi/bridge/java.rb
Constant Summary collapse
- DEFAULT_LIBRARIES =
[ "/usr/share/java/jcommon.jar", ENV["LD_LIBRARY_PATH"] ]
Class Method Summary collapse
Methods inherited from BaseBridge
Class Method Details
.import(class_name, options = {}) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/libisi/bridge/java.rb', line 48 def self.import(class_name, = {}) @classes ||= [] import_command = "Rjb::import('#{class_name}')" new_class_name = "#{class_name.split(".")[-1]}" if [:prefix] new_class_name = "#{[:prefix]}#{new_class_name}" end if @classes.include?(new_class_name) # $log.warn("#{new_class_name} already imported") return eval("#{new_class_name}") end eval_string = "#{new_class_name} = #{import_command}" $log.info("Loading java class by #{eval_string.inspect}") res = eval(eval_string) @classes << new_class_name res end |
.load(jar_files) ⇒ Object
43 44 45 46 |
# File 'lib/libisi/bridge/java.rb', line 43 def self.load(jar_files) jar_files = [jar_files] if jar_files.class == String Rjb::load(classpath = (DEFAULT_LIBRARIES + jar_files).join(":"), jvmargs=[]) end |