javonet-ruby-sdk 2.6.10 → 2.6.11

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.
Files changed (429) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +1 -1
  4. data/Rakefile +38 -30
  5. data/VERSION +1 -1
  6. data/javonet-ruby-sdk.gemspec +38 -38
  7. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libConfigs.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPhpRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libConfigs.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerl534RuntimeNative.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhp848RuntimeNative.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhpRuntimeNative.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPython2RuntimeNative.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libConfigs.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetActivationService.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetCppRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetGoRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetJvmRuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetPythonRuntimeNative.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetRubyRuntimeNative.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpClient.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetTcpTlsClient.dylib +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/version.txt +1 -1
  54. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libConfigs.dylib +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhp848RuntimeNative.dylib +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhpRuntimeNative.dylib +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Configs.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  103. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Configs.dll +0 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +12 -10
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +13 -5
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +4 -13
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandDeserializer.cjs +1 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +5 -5
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +4 -7
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +5 -7
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -1
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +29 -11
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +0 -22
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +11 -11
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +0 -5
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -7
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +2 -2
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +0 -1
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -2
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +8 -3
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +0 -8
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +25 -25
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +1 -1
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +6 -14
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +196 -190
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +13 -14
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +11 -12
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +17 -20
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +4 -3
  177. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +166 -54
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -2
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Php/composer.json +6 -5
  181. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/AbstractHandler.php +1 -2
  182. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/Handler.php +74 -58
  183. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +110 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +25 -23
  185. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +5 -5
  186. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/receiver/Receiver.php +7 -4
  187. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +86 -22
  188. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/DynamicMethodFactory.php +1 -2
  189. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/ExceptionSerializer.php +15 -1
  190. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/RuntimeNameHandler.php +32 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/UtilsConst.php +6 -3
  192. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/IConnectionData.php +1 -1
  193. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/InMemoryConnectionData.php +1 -1
  194. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/TcpConnectionData.php +6 -1
  195. data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/connectiondata/WsConnectionData.php +1 -1
  196. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -4
  197. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +72 -52
  198. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +1 -1
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +13 -13
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +143 -155
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +7 -5
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +64 -21
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +114 -45
  204. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/callback/callbackFunc.py +2 -3
  205. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/GetKwargHandler.py +5 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +30 -12
  207. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeDelegateHandler.py +2 -2
  208. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/InvokeGlobalFunctionHandler.py +2 -2
  209. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/interpreter/Interpreter.py +9 -9
  210. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandDeserializer.py +149 -130
  211. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +21 -17
  212. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/receiver/Receiver.py +11 -10
  213. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Command.py +89 -24
  214. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  215. data/lib/javonet-ruby-sdk/core/handler/abstract_command_handler.rb +23 -23
  216. data/lib/javonet-ruby-sdk/core/handler/abstract_handler.rb +4 -4
  217. data/lib/javonet-ruby-sdk/core/handler/add_event_listener_handler.rb +12 -12
  218. data/lib/javonet-ruby-sdk/core/handler/array_get_item_handler.rb +47 -47
  219. data/lib/javonet-ruby-sdk/core/handler/array_get_rank_handler.rb +22 -22
  220. data/lib/javonet-ruby-sdk/core/handler/array_get_size_handler.rb +36 -36
  221. data/lib/javonet-ruby-sdk/core/handler/array_handler.rb +12 -12
  222. data/lib/javonet-ruby-sdk/core/handler/array_reference_handler.rb +12 -12
  223. data/lib/javonet-ruby-sdk/core/handler/array_set_item_handler.rb +46 -46
  224. data/lib/javonet-ruby-sdk/core/handler/as_kwargs_handler.rb +12 -12
  225. data/lib/javonet-ruby-sdk/core/handler/as_out_handler.rb +12 -12
  226. data/lib/javonet-ruby-sdk/core/handler/as_ref_handler.rb +11 -11
  227. data/lib/javonet-ruby-sdk/core/handler/casting_handler.rb +11 -11
  228. data/lib/javonet-ruby-sdk/core/handler/convert_type_handler.rb +11 -11
  229. data/lib/javonet-ruby-sdk/core/handler/create_class_instance_handler.rb +34 -34
  230. data/lib/javonet-ruby-sdk/core/handler/create_null_handler.rb +12 -12
  231. data/lib/javonet-ruby-sdk/core/handler/destruct_reference_handler.rb +20 -20
  232. data/lib/javonet-ruby-sdk/core/handler/enable_namespace_handler.rb +30 -30
  233. data/lib/javonet-ruby-sdk/core/handler/enable_type_handler.rb +32 -32
  234. data/lib/javonet-ruby-sdk/core/handler/exception_handler.rb +12 -12
  235. data/lib/javonet-ruby-sdk/core/handler/generate_lib_handler.rb +12 -12
  236. data/lib/javonet-ruby-sdk/core/handler/get_async_operation_result_handler.rb +12 -12
  237. data/lib/javonet-ruby-sdk/core/handler/get_enum_item_handler.rb +12 -12
  238. data/lib/javonet-ruby-sdk/core/handler/get_enum_name_handler.rb +12 -12
  239. data/lib/javonet-ruby-sdk/core/handler/get_enum_value_handler.rb +12 -12
  240. data/lib/javonet-ruby-sdk/core/handler/get_global_field_handler.rb +11 -11
  241. data/lib/javonet-ruby-sdk/core/handler/get_instance_field_handler.rb +34 -34
  242. data/lib/javonet-ruby-sdk/core/handler/get_instance_method_as_delegate_handler.rb +11 -11
  243. data/lib/javonet-ruby-sdk/core/handler/get_module_handler.rb +11 -11
  244. data/lib/javonet-ruby-sdk/core/handler/get_ref_value_handler.rb +11 -11
  245. data/lib/javonet-ruby-sdk/core/handler/get_result_type_handler.rb +12 -12
  246. data/lib/javonet-ruby-sdk/core/handler/get_static_field_handler.rb +34 -34
  247. data/lib/javonet-ruby-sdk/core/handler/get_static_method_as_delegate_handler.rb +11 -11
  248. data/lib/javonet-ruby-sdk/core/handler/get_type_handler.rb +70 -71
  249. data/lib/javonet-ruby-sdk/core/handler/handler.rb +227 -225
  250. data/lib/javonet-ruby-sdk/core/handler/handler_dictionary.rb +7 -7
  251. data/lib/javonet-ruby-sdk/core/handler/heartbeat_handler.rb +12 -12
  252. data/lib/javonet-ruby-sdk/core/handler/invoke_delegate_handler.rb +12 -12
  253. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_method_handler.rb +11 -11
  254. data/lib/javonet-ruby-sdk/core/handler/invoke_generic_static_method_handler.rb +12 -12
  255. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -45
  256. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +35 -35
  257. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +38 -38
  258. data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +49 -49
  259. data/lib/javonet-ruby-sdk/core/handler/optimize_handler.rb +12 -12
  260. data/lib/javonet-ruby-sdk/core/handler/pass_delegate_handler.rb +11 -11
  261. data/lib/javonet-ruby-sdk/core/handler/plugin_wrapper_handler.rb +12 -12
  262. data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -28
  263. data/lib/javonet-ruby-sdk/core/handler/resolve_instance_handler.rb +29 -29
  264. data/lib/javonet-ruby-sdk/core/handler/retrieve_array_handler.rb +12 -12
  265. data/lib/javonet-ruby-sdk/core/handler/set_instance_field_handler.rb +35 -35
  266. data/lib/javonet-ruby-sdk/core/handler/set_static_field_handler.rb +31 -31
  267. data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -11
  268. data/lib/javonet-ruby-sdk/core/handler/value_handler.rb +6 -6
  269. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +26 -28
  270. data/lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb +42 -42
  271. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +184 -184
  272. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +36 -36
  273. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +65 -65
  274. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +120 -120
  275. data/lib/javonet-ruby-sdk/core/receiver/{receiver_new.rb → receiver.rb} +38 -42
  276. data/lib/javonet-ruby-sdk/core/reference_cache/references_cache.rb +39 -39
  277. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +58 -58
  278. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +31 -31
  279. data/lib/javonet-ruby-sdk/core/type_cache/type_cache.rb +41 -41
  280. data/lib/javonet-ruby-sdk/core/web_socket_client/web_socket_client.rb +228 -228
  281. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +132 -132
  282. data/lib/javonet-ruby-sdk/sdk/configuration/config.rb +32 -0
  283. data/lib/javonet-ruby-sdk/sdk/configuration/config_priority.rb +27 -0
  284. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/config_resolver.rb +80 -0
  285. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/connection_string_config_resolver.rb +89 -0
  286. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/json_config_resolver.rb +66 -0
  287. data/lib/javonet-ruby-sdk/sdk/configuration/config_resolvers/yaml_config_resolver.rb +77 -0
  288. data/lib/javonet-ruby-sdk/sdk/configuration/config_source_resolver.rb +70 -0
  289. data/lib/javonet-ruby-sdk/sdk/configuration/configs_dictionary.rb +48 -0
  290. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +33 -33
  291. data/lib/javonet-ruby-sdk/sdk/internal/abstract_invocation_context.rb +70 -70
  292. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_context.rb +10 -10
  293. data/lib/javonet-ruby-sdk/sdk/internal/abstract_runtime_factory.rb +37 -37
  294. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +27 -27
  295. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +318 -319
  296. data/lib/javonet-ruby-sdk/sdk/javonet.rb +132 -106
  297. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +259 -218
  298. data/lib/javonet-ruby-sdk/sdk/runtime_factory.rb +78 -78
  299. data/lib/javonet-ruby-sdk/sdk/tools/activation_helper.rb +37 -37
  300. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +62 -62
  301. data/lib/javonet-ruby-sdk/sdk/tools/sdk_message_helper.rb +71 -71
  302. data/lib/javonet-ruby-sdk/utils/command.rb +79 -93
  303. data/lib/javonet-ruby-sdk/utils/command_type.rb +154 -154
  304. data/lib/javonet-ruby-sdk/utils/connection_type.rb +5 -5
  305. data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +116 -116
  306. data/lib/javonet-ruby-sdk/utils/exceptions/exception_thrower.rb +65 -65
  307. data/lib/javonet-ruby-sdk/utils/exceptions/exception_type.rb +10 -10
  308. data/lib/javonet-ruby-sdk/utils/os_helper.rb +21 -21
  309. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +46 -46
  310. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +71 -40
  311. data/lib/javonet-ruby-sdk/utils/runtime_name_javonet.rb +13 -13
  312. data/lib/javonet-ruby-sdk/utils/string_encoding_mode_javonet.rb +6 -6
  313. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +36 -36
  314. data/lib/javonet-ruby-sdk/utils/type.rb +15 -15
  315. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -10
  316. data/lib/javonet-ruby-sdk/utils/ws_connection_data.rb +23 -19
  317. metadata +14 -117
  318. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  319. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  320. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  321. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  322. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  323. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  324. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  325. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  326. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  327. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  328. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  329. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  330. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  331. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  332. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  333. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  334. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  335. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  336. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  337. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  338. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  339. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  340. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  341. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
  342. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  343. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  344. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  345. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  346. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
  347. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  348. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
  349. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
  350. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  351. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
  352. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  353. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
  354. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  355. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  356. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  357. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
  358. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
  359. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
  360. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  361. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  362. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  363. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
  364. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  365. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  366. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
  367. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
  368. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
  369. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
  370. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  371. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  372. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  373. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  374. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  375. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
  376. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  377. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
  378. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
  379. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  380. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  381. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  382. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  383. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
  384. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  385. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
  386. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RegisterForUpdateHandler.cpython-312.pyc +0 -0
  387. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  388. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
  389. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  390. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  391. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueForUpdateHandler.cpython-312.pyc +0 -0
  392. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  393. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  394. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  395. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  396. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  397. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  398. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  399. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  400. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  401. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  402. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  403. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  404. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  405. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  406. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  407. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  408. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  409. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  410. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  411. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  412. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  413. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
  414. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  415. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  416. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  417. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  418. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
  419. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  420. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  421. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  422. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  423. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  424. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  425. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
  426. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
  427. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  428. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  429. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
@@ -1,319 +1,318 @@
1
- require_relative 'internal/abstract_invocation_context'
2
- require_relative 'internal/invocation_context_iterator'
3
- require_relative '../core/interpreter/interpreter'
4
- require_relative '../utils/exceptions/exception_thrower'
5
-
6
- # InvocationContext is a class that represents a context for invoking commands.
7
- # It implements several interfaces for different types of interactions.
8
- # This class is used to construct chains of invocations, representing expressions of interaction that have not yet been executed.
9
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/invocation-context article on Javonet Guides}
10
- class InvocationContext < AbstractInvocationContext
11
- include Enumerable
12
-
13
- def initialize(runtime_name, connection_type, tcp_ip_address, command, is_executed = false)
14
- @is_executed = is_executed
15
- @runtime_name = runtime_name
16
- @connection_type = connection_type
17
- @tcp_ip_address = tcp_ip_address
18
- @current_command = command
19
- @response_command = nil
20
- @interpreter = Interpreter.new
21
- # generates error: ruby/lib/javonet.rb-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
22
- # ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
23
- end
24
-
25
- # def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
26
- # proc do
27
- # if command.command_type == CommandType::REFERENCE && is_executed == true
28
- # destruct_command = Command.new(@runtime_name, CommandType::DESTRUCT_REFERENCE, command.payload)
29
- # interpreter.execute(destruct_command, connection_type, tcp_ip_address)
30
- # end
31
- # end
32
- # end
33
-
34
- def iterator
35
- if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM, CommandType::ARRAY_SET_ITEM].include? @current_command.command_type
36
- raise "Object is not iterable"
37
- else
38
- InvocationContextIterator.new(self)
39
- end
40
- end
41
-
42
- def [](i)
43
- if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
44
- raise "Object is not iterable"
45
- else
46
- invocation_context_iterator = InvocationContextIterator.new(self)
47
- invocation_context_iterator[i]
48
- end
49
- end
50
-
51
- def []=(i, value)
52
- if not [CommandType::REFERENCE, CommandType::ARRAY_SET_ITEM, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
53
- raise "Object is not iterable"
54
- else
55
- invocation_context_iterator = InvocationContextIterator.new(self)
56
- invocation_context_iterator[i] = value
57
- end
58
- end
59
-
60
- # Executes the current command.
61
- # Because invocation context is building the intent of executing particular expression on target environment, we call the initial state of invocation context as non-materialized.
62
- # The non-materialized context wraps either single command or chain of recursively nested commands.
63
- # Commands are becoming nested through each invocation of methods on Invocation Context.
64
- # Each invocation triggers the creation of new Invocation Context instance wrapping the current command with new parent command valid for invoked method.
65
- # Developer can decide on any moment of the materialization for the context taking full control of the chunks of the expression being transferred and processed on target runtime.
66
- # @return [InvocationContext] the InvocationContext after executing the command.
67
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/execute-method article on Javonet Guides}
68
- def execute
69
- @response_command = @interpreter.execute(@current_command, @connection_type, @tcp_ip_address)
70
-
71
- if @response_command.command_type == CommandType::EXCEPTION
72
- exception = ExceptionThrower.throw_exception(@response_command)
73
- SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
74
- raise exception
75
- end
76
-
77
- if @response_command.command_type == CommandType::CREATE_CLASS_INSTANCE
78
- @current_command = @response_command
79
- @is_executed = true
80
- return self
81
- end
82
-
83
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, @response_command, true)
84
- end
85
-
86
- def execute_async
87
- Thread.new do
88
- self.execute
89
- end
90
- end
91
-
92
- # Invokes a static method on the target runtime.
93
- # @param method_name [String] The name of the static method to invoke.
94
- # @param args [Array] The arguments to pass to the static method.
95
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the static method.
96
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/calling-methods/invoking-static-method article on Javonet Guides}
97
- def invoke_static_method(method_name, *args)
98
- local_command = Command.new(@runtime_name, CommandType::INVOKE_STATIC_METHOD, [method_name, *args])
99
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
100
- end
101
-
102
- # Invokes an instance method on the target runtime.
103
- # @param method_name [String] The name of the instance method to invoke.
104
- # @param args [Array] The arguments to pass to the instance method.
105
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the instance method.
106
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/calling-methods/creating-instance-and-calling-instance-methods article on Javonet Guides}
107
-
108
- def invoke_instance_method(method_name, *args)
109
- local_command = Command.new(@runtime_name, CommandType::INVOKE_INSTANCE_METHOD, [method_name, *args])
110
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
111
- end
112
-
113
- # Creates a new instance of a class in the target runtime.
114
- # @param args [Array] The arguments to class constructor
115
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to create the instance.
116
- # @see https://www.javonet.com/guides/v2/ruby/calling-methods/creating-instance-and-calling-instance-methods
117
- def create_instance(*args)
118
- local_command = Command.new(@runtime_name, CommandType::CREATE_CLASS_INSTANCE, [*args])
119
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
120
- end
121
-
122
- # Retrieves the value of a static field from the target runtime.
123
- # @param field_name [String] The name of the static field to get.
124
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the static field.
125
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-static-fields-and-properties article on Javonet Guides}
126
- def get_static_field(field_name)
127
- local_command = Command.new(@runtime_name, CommandType::GET_STATIC_FIELD, [field_name])
128
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
129
- end
130
-
131
- # Sets the value of a static field in the target runtime.
132
- # @param field_name [String] The name of the static field to set.
133
- # @param value [Object] The new value of the static field.
134
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to set the static field.
135
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-static-fields-and-properties article on Javonet Guides}
136
- def set_static_field(field_name, value)
137
- local_command = Command.new(@runtime_name, CommandType::SET_STATIC_FIELD, [field_name, value])
138
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
139
- end
140
-
141
- # Retrieves the value of an instance field from the target runtime.
142
- # @param field_name [String] The name of the instance field to get.
143
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the instance field.
144
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-instance-fields-and-properties article on Javonet Guides}
145
- def get_instance_field(field_name)
146
- local_command = Command.new(@runtime_name, CommandType::GET_INSTANCE_FIELD, [field_name])
147
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
148
- end
149
-
150
- # Sets the value of an instance field in the target runtime.
151
- # @param field_name [String] The name of the instance field to set.
152
- # @param value [Object] The new value of the instance field.
153
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to set the instance field.
154
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-instance-fields-and-properties article on Javonet Guides}
155
- def set_instance_field(field_name, value)
156
- local_command = Command.new(@runtime_name, CommandType::SET_INSTANCE_FIELD, [field_name, value])
157
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
158
- end
159
-
160
- # Retrieves the value at a specific indexes in an array from the target runtime.
161
- # @param indexes [Array] The indexes to pass to the get index command.
162
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the index.
163
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays article on Javonet Guides}
164
- def get_index(*indexes)
165
- local_command = Command.new(@runtime_name, CommandType::ARRAY_GET_ITEM, [*indexes])
166
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
167
- end
168
-
169
- # Sets the value at a specific index in an array in the target runtime.
170
- # @param indexes [Array] The indexes where new value should be set
171
- # @param value [Object] The new value to set at the indexes.
172
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to set the index.
173
- # @see https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays Setting Array Element Guide
174
- def set_index(indexes, value)
175
- local_command = Command.new(@runtime_name, CommandType::ARRAY_SET_ITEM, [indexes, value])
176
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
177
- end
178
-
179
- # Retrieves the number of elements from the target runtime.
180
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the size.
181
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays article on Javonet Guides}
182
- def get_size
183
- local_command = Command.new(@runtime_name, CommandType::ARRAY_GET_SIZE, [])
184
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
185
- end
186
-
187
- # Retrieves the rank of an array from the target runtime.
188
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the rank.
189
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/multidimensional-arrays article on Javonet Guides}
190
- def get_rank
191
- local_command = Command.new(@runtime_name, CommandType::ARRAY_GET_RANK, [])
192
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
193
- end
194
-
195
- # Invokes a generic static method on the target runtime.
196
- # @param method_name [String] The name of the generic static method to invoke.
197
- # @param args [Array] The arguments to pass to the generic static method.
198
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the generic static method.
199
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/generics/calling-generic-static-method article on Javonet Guides}
200
- def invoke_generic_static_method(method_name, *args)
201
- local_command = Command.new(@runtime_name, CommandType::INVOKE_GENERIC_STATIC_METHOD, [method_name, *args])
202
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
203
- end
204
-
205
- # Invokes a generic method on the target runtime.
206
- # @param method_name [String] The name of the generic method to invoke.
207
- # @param args [Array] The arguments to pass to the generic method.
208
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the generic method.
209
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/generics/calling-generic-instance-method article on Javonet Guides}
210
- def invoke_generic_method(method_name, *args)
211
- local_command = Command.new(@runtime_name, CommandType::INVOKE_GENERIC_METHOD, [method_name, *args])
212
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
213
- end
214
-
215
- # Retrieves the name of an enum from the target runtime.
216
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the enum name.
217
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/enums/using-enum-type article on Javonet Guides}
218
- def get_enum_name
219
- local_command = Command.new(@runtime_name, CommandType::GET_ENUM_NAME, [])
220
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
221
- end
222
-
223
- # Retrieves the value of an enum from the target runtime.
224
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the enum value.
225
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/enums/using-enum-type article on Javonet Guides}
226
- def get_enum_value
227
- local_command = Command.new(@runtime_name, CommandType::GET_ENUM_VALUE, [])
228
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
229
- end
230
-
231
- # Retrieves the value of a reference from the target runtime.
232
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the ref value.
233
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/methods-arguments/passing-arguments-by-reference-with-ref-keyword article on Javonet Guides}
234
- def get_ref_value
235
- local_command = Command.new(@runtime_name, CommandType::GET_REF_VALUE, [])
236
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
237
- end
238
-
239
- # Creates a null object of a specific type in the target runtime.
240
- # @return [InvocationContext] An InvocationContext instance with the command to create a null object.
241
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/null-handling/create-null-object article on Javonet Guides}
242
- def create_null
243
- local_command = Command.new(@runtime_name, CommandType::CREATE_NULL, [])
244
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
245
- end
246
-
247
- # Retrieves a static method as a delegate from the target runtime.
248
- # @param method_name [String] The name of the static method to retrieve as a delegate.
249
- # @param args [Array] The arguments to pass to the static method.
250
- # @return [InvocationContext] An InvocationContext instance with the command to get the static method as a delegate.
251
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
252
- def get_static_method_as_delegate(method_name, *args)
253
- local_command = Command.new(@runtime_name, CommandType::GET_STATIC_METHOD_AS_DELEGATE, [method_name, *args])
254
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
255
- end
256
-
257
- # Retrieves an instance method as a delegate from the target runtime.
258
- # @param method_name [String] The name of the instance method to retrieve as a delegate.
259
- # @param args [Array] The arguments to pass to the instance method.
260
- # @return [InvocationContext] An InvocationContext instance with the command to get the instance method as a delegate.
261
- # # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
262
- def get_instance_method_as_delegate(method_name, *args)
263
- local_command = Command.new(@runtime_name, CommandType::GET_INSTANCE_METHOD_AS_DELEGATE, [method_name, *args])
264
- InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
265
- end
266
-
267
- # Retrieves an array from the target runtime.
268
- # @return [Object] A new InvocationContext instance that wraps the command to retrieve the array.
269
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays article on Javonet Guides}
270
- def retrieve_array
271
- local_command = Command.new(@runtime_name, CommandType::RETRIEVE_ARRAY, [])
272
- local_inv_ctx = InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
273
- local_inv_ctx.execute
274
- local_inv_ctx.response_command.payload
275
- end
276
-
277
- # Retrieves the value of the current command from the target runtime.
278
- # @return [Object] The value of the current command.
279
- # @see https://www.javonet.com/guides/v2/ruby/foundations/execute-method Getting Command Value Guide
280
- def get_value
281
- @current_command.payload[0]
282
- end
283
-
284
- def build_command(command)
285
- command.payload.each_index { |i|
286
- command.payload[i] = encapsulate_payload_item(command.payload[i])
287
- }
288
- command.prepend_arg_to_payload(@current_command)
289
- end
290
-
291
- def encapsulate_payload_item(payload_item)
292
- if payload_item.is_a? Command
293
- payload_item.payload.each_index { |i|
294
- payload_item.payload[i] = encapsulate_payload_item(payload_item.payload[i])
295
- }
296
- return payload_item
297
-
298
- elsif payload_item.is_a? InvocationContext
299
- return payload_item.current_command
300
-
301
- elsif payload_item.is_a? Array
302
- copied_array = payload_item.map { |item| encapsulate_payload_item(item) }
303
- return Command.new(@runtime_name, CommandType::ARRAY, copied_array)
304
- elsif TypesHandler.primitive_or_none?(payload_item)
305
- return Command.new(@runtime_name, CommandType::VALUE, payload_item.nil? ? [nil] : [*payload_item])
306
- else
307
- raise TypeError, "Unsupported payload item type: #{payload_item.class} for payload item: #{payload_item}."
308
- end
309
- end
310
-
311
- def current_command
312
- @current_command
313
- end
314
-
315
- def response_command
316
- @response_command
317
- end
318
-
319
- end
1
+ require_relative 'internal/abstract_invocation_context'
2
+ require_relative 'internal/invocation_context_iterator'
3
+ require_relative '../core/interpreter/interpreter'
4
+ require_relative '../utils/exceptions/exception_thrower'
5
+
6
+ # InvocationContext is a class that represents a context for invoking commands.
7
+ # It implements several interfaces for different types of interactions.
8
+ # This class is used to construct chains of invocations, representing expressions of interaction that have not yet been executed.
9
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/invocation-context article on Javonet Guides}
10
+ class InvocationContext < AbstractInvocationContext
11
+ include Enumerable
12
+
13
+ def initialize(runtime_name, connection_type, tcp_ip_address, command, is_executed = false)
14
+ @is_executed = is_executed
15
+ @runtime_name = runtime_name
16
+ @connection_type = connection_type
17
+ @tcp_ip_address = tcp_ip_address
18
+ @current_command = command
19
+ @response_command = nil
20
+ # generates error: ruby/lib/javonet.rb-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
21
+ # ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
22
+ end
23
+
24
+ # def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
25
+ # proc do
26
+ # if command.command_type == CommandType::REFERENCE && is_executed == true
27
+ # destruct_command = Command.new(@runtime_name, CommandType::DESTRUCT_REFERENCE, command.payload)
28
+ # interpreter.execute(destruct_command, connection_type, tcp_ip_address)
29
+ # end
30
+ # end
31
+ # end
32
+
33
+ def iterator
34
+ if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM, CommandType::ARRAY_SET_ITEM].include? @current_command.command_type
35
+ raise "Object is not iterable"
36
+ else
37
+ InvocationContextIterator.new(self)
38
+ end
39
+ end
40
+
41
+ def [](i)
42
+ if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
43
+ raise "Object is not iterable"
44
+ else
45
+ invocation_context_iterator = InvocationContextIterator.new(self)
46
+ invocation_context_iterator[i]
47
+ end
48
+ end
49
+
50
+ def []=(i, value)
51
+ if not [CommandType::REFERENCE, CommandType::ARRAY_SET_ITEM, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
52
+ raise "Object is not iterable"
53
+ else
54
+ invocation_context_iterator = InvocationContextIterator.new(self)
55
+ invocation_context_iterator[i] = value
56
+ end
57
+ end
58
+
59
+ # Executes the current command.
60
+ # Because invocation context is building the intent of executing particular expression on target environment, we call the initial state of invocation context as non-materialized.
61
+ # The non-materialized context wraps either single command or chain of recursively nested commands.
62
+ # Commands are becoming nested through each invocation of methods on Invocation Context.
63
+ # Each invocation triggers the creation of new Invocation Context instance wrapping the current command with new parent command valid for invoked method.
64
+ # Developer can decide on any moment of the materialization for the context taking full control of the chunks of the expression being transferred and processed on target runtime.
65
+ # @return [InvocationContext] the InvocationContext after executing the command.
66
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/execute-method article on Javonet Guides}
67
+ def execute
68
+ @response_command = Interpreter.execute(@current_command, @connection_type, @tcp_ip_address)
69
+
70
+ if @response_command.command_type == CommandType::EXCEPTION
71
+ exception = ExceptionThrower.throw_exception(@response_command)
72
+ SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
73
+ raise exception
74
+ end
75
+
76
+ if @response_command.command_type == CommandType::CREATE_CLASS_INSTANCE
77
+ @current_command = @response_command
78
+ @is_executed = true
79
+ return self
80
+ end
81
+
82
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, @response_command, true)
83
+ end
84
+
85
+ def execute_async
86
+ Thread.new do
87
+ self.execute
88
+ end
89
+ end
90
+
91
+ # Invokes a static method on the target runtime.
92
+ # @param method_name [String] The name of the static method to invoke.
93
+ # @param args [Array] The arguments to pass to the static method.
94
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the static method.
95
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/calling-methods/invoking-static-method article on Javonet Guides}
96
+ def invoke_static_method(method_name, *args)
97
+ local_command = Command.new(@runtime_name, CommandType::INVOKE_STATIC_METHOD, [method_name, *args])
98
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
99
+ end
100
+
101
+ # Invokes an instance method on the target runtime.
102
+ # @param method_name [String] The name of the instance method to invoke.
103
+ # @param args [Array] The arguments to pass to the instance method.
104
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the instance method.
105
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/calling-methods/creating-instance-and-calling-instance-methods article on Javonet Guides}
106
+
107
+ def invoke_instance_method(method_name, *args)
108
+ local_command = Command.new(@runtime_name, CommandType::INVOKE_INSTANCE_METHOD, [method_name, *args])
109
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
110
+ end
111
+
112
+ # Creates a new instance of a class in the target runtime.
113
+ # @param args [Array] The arguments to class constructor
114
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to create the instance.
115
+ # @see https://www.javonet.com/guides/v2/ruby/calling-methods/creating-instance-and-calling-instance-methods
116
+ def create_instance(*args)
117
+ local_command = Command.new(@runtime_name, CommandType::CREATE_CLASS_INSTANCE, [*args])
118
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
119
+ end
120
+
121
+ # Retrieves the value of a static field from the target runtime.
122
+ # @param field_name [String] The name of the static field to get.
123
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the static field.
124
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-static-fields-and-properties article on Javonet Guides}
125
+ def get_static_field(field_name)
126
+ local_command = Command.new(@runtime_name, CommandType::GET_STATIC_FIELD, [field_name])
127
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
128
+ end
129
+
130
+ # Sets the value of a static field in the target runtime.
131
+ # @param field_name [String] The name of the static field to set.
132
+ # @param value [Object] The new value of the static field.
133
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to set the static field.
134
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-static-fields-and-properties article on Javonet Guides}
135
+ def set_static_field(field_name, value)
136
+ local_command = Command.new(@runtime_name, CommandType::SET_STATIC_FIELD, [field_name, value])
137
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
138
+ end
139
+
140
+ # Retrieves the value of an instance field from the target runtime.
141
+ # @param field_name [String] The name of the instance field to get.
142
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the instance field.
143
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-instance-fields-and-properties article on Javonet Guides}
144
+ def get_instance_field(field_name)
145
+ local_command = Command.new(@runtime_name, CommandType::GET_INSTANCE_FIELD, [field_name])
146
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
147
+ end
148
+
149
+ # Sets the value of an instance field in the target runtime.
150
+ # @param field_name [String] The name of the instance field to set.
151
+ # @param value [Object] The new value of the instance field.
152
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to set the instance field.
153
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/fields-and-properties/getting-and-setting-values-for-instance-fields-and-properties article on Javonet Guides}
154
+ def set_instance_field(field_name, value)
155
+ local_command = Command.new(@runtime_name, CommandType::SET_INSTANCE_FIELD, [field_name, value])
156
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
157
+ end
158
+
159
+ # Retrieves the value at a specific indexes in an array from the target runtime.
160
+ # @param indexes [Array] The indexes to pass to the get index command.
161
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the index.
162
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays article on Javonet Guides}
163
+ def get_index(*indexes)
164
+ local_command = Command.new(@runtime_name, CommandType::ARRAY_GET_ITEM, [*indexes])
165
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
166
+ end
167
+
168
+ # Sets the value at a specific index in an array in the target runtime.
169
+ # @param indexes [Array] The indexes where new value should be set
170
+ # @param value [Object] The new value to set at the indexes.
171
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to set the index.
172
+ # @see https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays Setting Array Element Guide
173
+ def set_index(indexes, value)
174
+ local_command = Command.new(@runtime_name, CommandType::ARRAY_SET_ITEM, [indexes, value])
175
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
176
+ end
177
+
178
+ # Retrieves the number of elements from the target runtime.
179
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the size.
180
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays article on Javonet Guides}
181
+ def get_size
182
+ local_command = Command.new(@runtime_name, CommandType::ARRAY_GET_SIZE, [])
183
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
184
+ end
185
+
186
+ # Retrieves the rank of an array from the target runtime.
187
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the rank.
188
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/multidimensional-arrays article on Javonet Guides}
189
+ def get_rank
190
+ local_command = Command.new(@runtime_name, CommandType::ARRAY_GET_RANK, [])
191
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
192
+ end
193
+
194
+ # Invokes a generic static method on the target runtime.
195
+ # @param method_name [String] The name of the generic static method to invoke.
196
+ # @param args [Array] The arguments to pass to the generic static method.
197
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the generic static method.
198
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/generics/calling-generic-static-method article on Javonet Guides}
199
+ def invoke_generic_static_method(method_name, *args)
200
+ local_command = Command.new(@runtime_name, CommandType::INVOKE_GENERIC_STATIC_METHOD, [method_name, *args])
201
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
202
+ end
203
+
204
+ # Invokes a generic method on the target runtime.
205
+ # @param method_name [String] The name of the generic method to invoke.
206
+ # @param args [Array] The arguments to pass to the generic method.
207
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to invoke the generic method.
208
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/generics/calling-generic-instance-method article on Javonet Guides}
209
+ def invoke_generic_method(method_name, *args)
210
+ local_command = Command.new(@runtime_name, CommandType::INVOKE_GENERIC_METHOD, [method_name, *args])
211
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
212
+ end
213
+
214
+ # Retrieves the name of an enum from the target runtime.
215
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the enum name.
216
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/enums/using-enum-type article on Javonet Guides}
217
+ def get_enum_name
218
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_NAME, [])
219
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
220
+ end
221
+
222
+ # Retrieves the value of an enum from the target runtime.
223
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the enum value.
224
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/enums/using-enum-type article on Javonet Guides}
225
+ def get_enum_value
226
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_VALUE, [])
227
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
228
+ end
229
+
230
+ # Retrieves the value of a reference from the target runtime.
231
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the ref value.
232
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/methods-arguments/passing-arguments-by-reference-with-ref-keyword article on Javonet Guides}
233
+ def get_ref_value
234
+ local_command = Command.new(@runtime_name, CommandType::GET_REF_VALUE, [])
235
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
236
+ end
237
+
238
+ # Creates a null object of a specific type in the target runtime.
239
+ # @return [InvocationContext] An InvocationContext instance with the command to create a null object.
240
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/null-handling/create-null-object article on Javonet Guides}
241
+ def create_null
242
+ local_command = Command.new(@runtime_name, CommandType::CREATE_NULL, [])
243
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
244
+ end
245
+
246
+ # Retrieves a static method as a delegate from the target runtime.
247
+ # @param method_name [String] The name of the static method to retrieve as a delegate.
248
+ # @param args [Array] The arguments to pass to the static method.
249
+ # @return [InvocationContext] An InvocationContext instance with the command to get the static method as a delegate.
250
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
251
+ def get_static_method_as_delegate(method_name, *args)
252
+ local_command = Command.new(@runtime_name, CommandType::GET_STATIC_METHOD_AS_DELEGATE, [method_name, *args])
253
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
254
+ end
255
+
256
+ # Retrieves an instance method as a delegate from the target runtime.
257
+ # @param method_name [String] The name of the instance method to retrieve as a delegate.
258
+ # @param args [Array] The arguments to pass to the instance method.
259
+ # @return [InvocationContext] An InvocationContext instance with the command to get the instance method as a delegate.
260
+ # # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
261
+ def get_instance_method_as_delegate(method_name, *args)
262
+ local_command = Command.new(@runtime_name, CommandType::GET_INSTANCE_METHOD_AS_DELEGATE, [method_name, *args])
263
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
264
+ end
265
+
266
+ # Retrieves an array from the target runtime.
267
+ # @return [Object] A new InvocationContext instance that wraps the command to retrieve the array.
268
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/arrays-and-collections/one-dimensional-arrays article on Javonet Guides}
269
+ def retrieve_array
270
+ local_command = Command.new(@runtime_name, CommandType::RETRIEVE_ARRAY, [])
271
+ local_inv_ctx = InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
272
+ local_inv_ctx.execute
273
+ local_inv_ctx.response_command.payload
274
+ end
275
+
276
+ # Retrieves the value of the current command from the target runtime.
277
+ # @return [Object] The value of the current command.
278
+ # @see https://www.javonet.com/guides/v2/ruby/foundations/execute-method Getting Command Value Guide
279
+ def get_value
280
+ @current_command.payload[0]
281
+ end
282
+
283
+ def build_command(command)
284
+ command.payload.each_index { |i|
285
+ command.payload[i] = encapsulate_payload_item(command.payload[i])
286
+ }
287
+ command.prepend_arg_to_payload(@current_command)
288
+ end
289
+
290
+ def encapsulate_payload_item(payload_item)
291
+ if payload_item.is_a? Command
292
+ payload_item.payload.each_index { |i|
293
+ payload_item.payload[i] = encapsulate_payload_item(payload_item.payload[i])
294
+ }
295
+ return payload_item
296
+
297
+ elsif payload_item.is_a? InvocationContext
298
+ return payload_item.current_command
299
+
300
+ elsif payload_item.is_a? Array
301
+ copied_array = payload_item.map { |item| encapsulate_payload_item(item) }
302
+ return Command.new(@runtime_name, CommandType::ARRAY, copied_array)
303
+ elsif TypesHandler.primitive_or_none?(payload_item)
304
+ return Command.new(@runtime_name, CommandType::VALUE, payload_item.nil? ? [nil] : [*payload_item])
305
+ else
306
+ raise TypeError, "Unsupported payload item type: #{payload_item.class} for payload item: #{payload_item}."
307
+ end
308
+ end
309
+
310
+ def current_command
311
+ @current_command
312
+ end
313
+
314
+ def response_command
315
+ @response_command
316
+ end
317
+
318
+ end