Module: ICanHasJavaClass
- Defined in:
- lib/i_can_has_java_class.rb,
lib/i_can_has_java_class/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
- .java_class_defined?(class_string) ⇒ Boolean
- .java_class_exists_in_class_loader?(class_string, class_loader) ⇒ Boolean
- .java_class_for(class_string) ⇒ Object
Class Method Details
.java_class_defined?(class_string) ⇒ Boolean
5 6 7 8 |
# File 'lib/i_can_has_java_class.rb', line 5 def self.java_class_defined?(class_string) !!java_class_exists_in_class_loader?(class_string, ::JRuby.runtime.jruby_class_loader) || !!java_class_exists_in_class_loader?(class_string, nil) end |
.java_class_exists_in_class_loader?(class_string, class_loader) ⇒ Boolean
10 11 12 13 14 15 16 17 18 |
# File 'lib/i_can_has_java_class.rb', line 10 def self.java_class_exists_in_class_loader?(class_string, class_loader) if class_loader return ::Java::JavaLang::Class.forName(class_string, false, class_loader) else return ::Java::JavaLang::Class.forName(class_string) end rescue ::Java::JavaLang::ClassNotFoundException return false end |
.java_class_for(class_string) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/i_can_has_java_class.rb', line 20 def self.java_class_for(class_string) case when (klass = java_class_exists_in_class_loader?(class_string, ::JRuby.runtime.jruby_class_loader)) then return klass when (klass = java_class_exists_in_class_loader?(class_string, nil)) then return klass else raise ::Java::JavaLang::ClassNotFoundException.new end end |