infraruby-java 3.7.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.platform = "ruby"
3
3
  s.name = "infraruby-java"
4
- s.version = "3.7.1"
4
+ s.version = "4.0.0"
5
5
  s.licenses = ["MIT"]
6
6
  s.author = "InfraRuby Vision"
7
7
  s.email = "rubygems@infraruby.com"
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.description = "InfraRuby Java integration for Ruby interpreters"
11
11
  s.extensions = ["ext/primitive/extconf.rb"]
12
12
  s.files = Dir["**/*"]
13
- s.add_runtime_dependency "infraruby-base", "~> 3.7"
14
- s.add_development_dependency "infraruby-task", "~> 3.7"
13
+ s.add_runtime_dependency "infraruby-base", "~> 4.0"
14
+ s.add_development_dependency "infraruby-task", "~> 4.0"
15
15
  s.add_development_dependency "rspec", "~> 3.0"
16
16
  end
@@ -2,4 +2,125 @@ require "infraruby-base"
2
2
 
3
3
  require "primitive/primitive"
4
4
 
5
+ InfraRuby.if(RUBY_ENGINE == "ruby") {
6
+
7
+ module InfraRuby
8
+ module WithPackage
9
+ def __package(symbol, &block)
10
+ name = symbol.to_s
11
+ o = __get(name)
12
+ if o.nil?
13
+ o = JavaPackage.new
14
+ o.name = __join(name)
15
+ __set(name, o)
16
+ end
17
+ o.instance_eval(&block)
18
+ return
19
+ end
20
+ end
21
+
22
+ module WithClass
23
+ def __class(name, superclass, &block)
24
+ o = __get(name)
25
+ if o.nil?
26
+ o = Class.new(superclass)
27
+ o.extend(JavaClass)
28
+ o.name = __join(name)
29
+ __set(name, o)
30
+ end
31
+ o.module_eval(&block)
32
+ return
33
+ end
34
+
35
+ def __interface(name, &block)
36
+ o = __get(name)
37
+ if o.nil?
38
+ o = Module.new
39
+ o.extend(JavaClass)
40
+ o.name = __join(name)
41
+ __set(name, o)
42
+ end
43
+ o.module_eval(&block)
44
+ return
45
+ end
46
+ end
47
+
48
+ module JavaBase
49
+ include WithPackage
50
+
51
+ def __get(name)
52
+ return __send__(name)
53
+ rescue
54
+ return nil
55
+ end
56
+
57
+ def __set(name, o)
58
+ c = class << self ; self ; end
59
+ c.send(:define_method, name) { o }
60
+ return
61
+ end
62
+
63
+ def __join(name)
64
+ return name
65
+ end
66
+ end
67
+
68
+ class JavaPackage < BasicObject
69
+ include WithPackage
70
+ include WithClass
71
+
72
+ attr_accessor :name
73
+
74
+ def inspect
75
+ return @name
76
+ end
77
+
78
+ def nil?
79
+ return false
80
+ end
81
+
82
+ def __get(name)
83
+ return __send__(name)
84
+ rescue
85
+ return nil
86
+ end
87
+
88
+ def __set(name, o)
89
+ c = class << self ; self ; end
90
+ c.send(:define_method, name) { o }
91
+ return
92
+ end
93
+
94
+ def __join(name)
95
+ return "#{self.name}.#{name}"
96
+ end
97
+ end
98
+
99
+ module JavaClass
100
+ include WithClass
101
+ include JAVA::ClassMixin
102
+
103
+ def __get(name)
104
+ return const_get(name)
105
+ rescue
106
+ return nil
107
+ end
108
+
109
+ def __set(name, o)
110
+ const_set(name, o)
111
+ return
112
+ end
113
+
114
+ def __join(name)
115
+ return "#{self.name}::#{name}"
116
+ end
117
+ end
118
+ end
119
+
120
+ module JAVA
121
+ extend InfraRuby::JavaBase
122
+ end
123
+
124
+ }
125
+
5
126
  InfraRuby.load_parent_library(__dir__)
Binary file
@@ -0,0 +1,45 @@
1
+ class Exception
2
+ def is_a?(c)
3
+ if c == JAVA::java.lang.Throwable
4
+ return true
5
+ end
6
+ return super(c)
7
+ end
8
+
9
+ def getMessage
10
+ return message.to_j
11
+ end
12
+ end
13
+
14
+ InfraRuby.if(RUBY_ENGINE == "ruby") {
15
+
16
+ class << Exception
17
+ def ===(o)
18
+ if self == Exception
19
+ if o.class == JAVA::Exception
20
+ return false
21
+ end
22
+ end
23
+ return super(o)
24
+ end
25
+ end
26
+
27
+ }
28
+
29
+ InfraRuby.if(RUBY_ENGINE == "jruby") {
30
+
31
+ class << Exception
32
+ def ===(o)
33
+ if self == Exception
34
+ if o.class <= Java::java.lang.Throwable
35
+ path = Kernel.caller_locations.first.path
36
+ unless path.end_with?(".ir")
37
+ return true
38
+ end
39
+ end
40
+ end
41
+ return super(o)
42
+ end
43
+ end
44
+
45
+ }
@@ -1,5 +1,5 @@
1
1
  class Float
2
- def as_f
2
+ def as_ruby
3
3
  return self
4
4
  end
5
5
 
@@ -1,5 +1,5 @@
1
1
  class Integer
2
- def as_i
2
+ def as_ruby
3
3
  return self
4
4
  end
5
5
 
@@ -0,0 +1,115 @@
1
+ InfraRuby.if(RUBY_ENGINE == "ruby") {
2
+
3
+ JAVA.module_eval do
4
+ __package(:java) {
5
+ __package(:lang) {
6
+ __class "Object", JAVA::BasicObject do
7
+ def equals(o)
8
+ return equal?(o)
9
+ end
10
+
11
+ def hashCode
12
+ return __id__.to_int32
13
+ end
14
+
15
+ def toString
16
+ return inspect.to_j
17
+ end
18
+ end
19
+
20
+ __class "Throwable", JAVA::java.lang.Object do
21
+ def initialize(message = nix)
22
+ super()
23
+ if message.nix?
24
+ @message = nil
25
+ else
26
+ @message = message
27
+ end
28
+ return
29
+ end
30
+
31
+ def toString
32
+ if @message.nil?
33
+ return self.class.toString
34
+ else
35
+ return "#{self.class}: #{@message}".j
36
+ end
37
+ end
38
+
39
+ def getMessage
40
+ return @message
41
+ end
42
+ end
43
+ }
44
+ }
45
+ end
46
+
47
+ }
48
+
49
+ JAVA::Value.class_eval do
50
+ def pretty_print(pp)
51
+ return
52
+ end
53
+ end
54
+
55
+ JAVA::java.lang.Object.class_eval do
56
+ def ===(o)
57
+ return equals(o)
58
+ end
59
+
60
+ def eql?(o)
61
+ return equals(o)
62
+ end
63
+
64
+ def hash
65
+ return hashCode.to_i
66
+ end
67
+
68
+ def to_s
69
+ return String.from_j(toString)
70
+ end
71
+ end
72
+
73
+ class << JAVA::java.lang.Object
74
+ def ===(o)
75
+ if self == JAVA::java.lang.Object
76
+ return true
77
+ end
78
+ return super(o)
79
+ end
80
+ end
81
+
82
+ InfraRuby.if(RUBY_ENGINE == "ruby") {
83
+
84
+ JAVA::java.lang.Throwable.class_eval do
85
+ def exception
86
+ return JAVA::Exception.new(self)
87
+ end
88
+ end
89
+
90
+ }
91
+
92
+ InfraRuby.if(RUBY_ENGINE == "jruby") {
93
+
94
+ JAVA::java.lang.Throwable.class_eval do
95
+ def exception
96
+ return self
97
+ end
98
+ end
99
+
100
+ }
101
+
102
+ class << JAVA::java.lang.Throwable
103
+ def ===(o)
104
+ if self == JAVA::java.lang.Throwable
105
+ if o.class <= Exception
106
+ return true
107
+ end
108
+ end
109
+ return super(o)
110
+ end
111
+
112
+ def exception(*args)
113
+ return new(*args).exception
114
+ end
115
+ end
@@ -0,0 +1,6 @@
1
+ module Kernel
2
+ def j_import(c)
3
+ Object.j_import(c)
4
+ return
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class Module
2
+ def j_import(c)
3
+ const_set(c.name[/\w+$/], c)
4
+ return
5
+ end
6
+ end
@@ -1,13 +1,20 @@
1
1
  class Object
2
+ def is_a?(c)
3
+ if c == JAVA::java.lang.Object
4
+ return true
5
+ end
6
+ return super(c)
7
+ end
8
+
2
9
  def equals(o)
3
10
  return eql?(o)
4
11
  end
5
12
 
6
13
  def hashCode
7
- return hash
14
+ return hash.to_int32
8
15
  end
9
16
 
10
17
  def toString
11
- return to_s
18
+ return to_s.to_j
12
19
  end
13
20
  end
@@ -1,22 +1,12 @@
1
1
  class String
2
2
  class << self
3
- alias_method :__from_java_bytes, :from_java_bytes
4
-
5
- def from_java_bytes(m, encoding = nix)
6
- s = __from_java_bytes(m)
7
- unless encoding.nix?
8
- s.force_encoding(encoding)
9
- end
10
- return s
11
- end
12
-
13
- alias_method :from_java_bytes_unsafe, :from_java_bytes
3
+ alias_method :from_j_bytes_unsafe, :from_j_bytes
14
4
  end
15
5
 
16
- alias_method :to_java_bytes_unsafe, :to_java_bytes
6
+ alias_method :to_j_bytes_unsafe, :to_j_bytes
17
7
 
18
- def java
19
- return to_java
8
+ def j
9
+ return to_j
20
10
  end
21
11
 
22
12
  def to_byte
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infraruby-java
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraRuby Vision
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-04 00:00:00.000000000 Z
11
+ date: 2016-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: infraruby-base
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.7'
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.7'
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: infraruby-task
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.7'
33
+ version: '4.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.7'
40
+ version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -68,12 +68,13 @@ files:
68
68
  - lib/infraruby-java.rb
69
69
  - lib/primitive/primitive.jar
70
70
  - ruby/Boolean.rb
71
+ - ruby/Exception.rb
71
72
  - ruby/FalseClass.rb
72
73
  - ruby/Float.rb
73
74
  - ruby/Integer.rb
74
- - ruby/Java.rb
75
- - ruby/Java/java.lang.String.rb
76
- - ruby/NilClass.rb
75
+ - ruby/JAVA.rb
76
+ - ruby/Kernel.rb
77
+ - ruby/Module.rb
77
78
  - ruby/Object.rb
78
79
  - ruby/String.rb
79
80
  - ruby/TrueClass.rb
@@ -102,3 +103,4 @@ signing_key:
102
103
  specification_version: 4
103
104
  summary: InfraRuby Java integration for Ruby interpreters
104
105
  test_files: []
106
+ has_rdoc: