javonet-ruby-sdk 2.1.9 → 2.1.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/javonet-ruby-sdk.gemspec +11 -10
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/exception/ExceptionThrower.js +29 -8
  48. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetItemHandler.js +18 -4
  49. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetRankHandler.js +17 -1
  50. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArraySetItemHandler.js +20 -4
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/CastingHandler.js +1 -1
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetStaticFieldHandler.js +4 -5
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetTypeHandler.js +2 -2
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/LoadLibraryHandler.js +2 -2
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ReferencesCache.js +1 -1
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/SetStaticFieldHandler.js +3 -3
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +1 -1
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/CommandType.js +5 -1
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/exception/ExceptionThrower.js +29 -8
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetItemHandler.js +18 -4
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetRankHandler.js +17 -1
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  72. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArraySetItemHandler.js +20 -4
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/CastingHandler.js +1 -1
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetStaticFieldHandler.js +4 -5
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetTypeHandler.js +2 -2
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  80. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  81. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  82. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/LoadLibraryHandler.js +2 -2
  83. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ReferencesCache.js +1 -1
  84. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  85. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  86. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/SetStaticFieldHandler.js +3 -3
  87. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +1 -1
  88. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +5 -1
  89. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/exception/ExceptionThrower.js +29 -8
  90. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetItemHandler.js +18 -4
  91. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetRankHandler.js +17 -1
  92. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArrayGetSizeHandler.js +9 -3
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArraySetItemHandler.js +20 -4
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/CastingHandler.js +1 -1
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/CreateClassInstanceHandler.js +3 -3
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetInstanceFieldHandler.js +4 -5
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetStaticFieldHandler.js +4 -5
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetTypeHandler.js +2 -2
  100. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeGlobalMethodHandler.js +3 -5
  101. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeInstanceMethodHandler.js +4 -5
  102. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/InvokeStaticMethodHandler.js +3 -3
  103. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/LoadLibraryHandler.js +2 -2
  104. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ReferencesCache.js +1 -1
  105. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  106. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetInstanceFieldHandler.js +3 -3
  107. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/SetStaticFieldHandler.js +3 -3
  108. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +1 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/CommandType.js +5 -1
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +5 -5
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  112. 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
  113. 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
  114. 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
  115. 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
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  117. 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
  118. 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
  119. 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
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  121. 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
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +88 -88
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +5 -5
  129. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  130. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Class/Load/XS/XS.bundle +0 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Clone/Clone.bundle +0 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Data/UUID/UUID.bundle +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/FFI/Platypus/Platypus.bundle +0 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Moose/Moose.bundle +0 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/PPI/XS/XS.bundle +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Package/Stash/XS/XS.bundle +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Params/Util/Util.bundle +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Scalar/Util/Numeric/Numeric.bundle +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Want/Want.bundle +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/autobox/autobox.bundle +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +2 -2
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +88 -88
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  150. 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
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +235 -47
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +5 -1
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +22 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +4 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +34 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +14 -2
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/Handler.py +26 -39
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +4 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core → Linux/X64/javonet/utils}/exception/ExceptionThrower.py +63 -48
  171. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core → Linux/X64/javonet/utils}/exception/JavonetException.py +0 -2
  172. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  173. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  174. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  175. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +14 -2
  176. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/Handler.py +26 -39
  181. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +4 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core → MacOs/X64/javonet/utils}/exception/ExceptionThrower.py +26 -11
  183. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core → MacOs/X64/javonet/utils}/exception/JavonetException.py +0 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetItemHandler.py +8 -7
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetRankHandler.py +7 -4
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArrayGetSizeHandler.py +7 -3
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +14 -2
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumItemHandler.py +22 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumNameHandler.py +22 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetEnumValueHandler.py +22 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/GetTypeHandler.py +3 -1
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  212. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  213. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/Handler.py +26 -39
  220. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  221. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  222. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  223. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  228. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  234. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +4 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  236. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  243. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core → Windows/X64/javonet/utils}/exception/ExceptionThrower.py +63 -48
  244. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/JavonetException.py +0 -2
  245. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  246. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  248. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  249. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  250. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  251. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +12 -0
  252. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  253. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  254. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  255. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  256. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +12 -0
  257. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_item_handler.rb +31 -4
  258. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  259. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_get_size_handler.rb +21 -2
  260. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_set_item_handler.rb +30 -4
  261. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +12 -0
  262. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_item_handler.rb +31 -4
  263. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_rank_handler.rb +13 -1
  264. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_get_size_handler.rb +21 -2
  265. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_set_item_handler.rb +30 -4
  266. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +15 -5
  267. data/lib/javonet-ruby-sdk/sdk/internal/runtime_context.rb +6 -0
  268. data/lib/javonet-ruby-sdk/utils/command_type.rb +12 -0
  269. metadata +85 -56
  270. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  271. /data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  272. /data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/{core → utils}/exception/__init__.py +0 -0
  273. /data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  274. /data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/{core → utils}/exception/__init__.py +0 -0
  275. /data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/ExceptionSerializer.py +0 -0
  276. /data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/{core → utils}/exception/__init__.py +0 -0
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end
@@ -10,11 +10,38 @@ class ArrayGetItemHandler < AbstractCommandHandler
10
10
  if command.payload.length < @required_parameters_count
11
11
  raise ArgumentError.new "Array get item parameters mismatch"
12
12
  end
13
- array = command.payload[0]
14
- index = command.payload[1,]
15
- return array[index]
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_item_array(command)
16
+ elsif command.payload[0].is_a? Hash
17
+ return get_item_hash(command)
18
+ else
19
+ raise ArgumentError.new "Cannot get element from %s" % [command.payload[0]]
20
+ end
16
21
  rescue Exception => e
17
- return e
22
+ e
23
+ end
24
+ end
25
+
26
+ def get_item_array(command)
27
+ array = command.payload[0]
28
+ indexes = if command.payload[1].is_a? Array
29
+ command.payload[1]
30
+ else
31
+ command.payload[1..]
32
+ end
33
+
34
+ if array.is_a? Array
35
+ indexes.each { |i|
36
+ array = array[i]
37
+ }
38
+ array
18
39
  end
19
40
  end
41
+
42
+ def get_item_hash(command)
43
+ hash = command.payload[0]
44
+ key = command.payload[1]
45
+ hash[key]
46
+ end
20
47
  end
@@ -1,9 +1,21 @@
1
1
  require_relative 'abstract_command_handler'
2
2
 
3
3
  class ArrayGetRankHandler < AbstractCommandHandler
4
+ def initialize
5
+ @required_parameters_count = 1
6
+ end
4
7
  def process(command)
5
8
  begin
6
- raise ArgumentError.new "ArrayGetRankHandler not implemented"
9
+ if command.payload.length < @required_parameters_count
10
+ raise ArgumentError.new "Array get rank parameters mismatch"
11
+ end
12
+ array = command.payload[0]
13
+ rank = 0
14
+ while array.is_a? Array
15
+ rank = rank + 1
16
+ array = array[0]
17
+ end
18
+ return rank
7
19
  rescue Exception => e
8
20
  return e
9
21
  end
@@ -4,15 +4,34 @@ class ArrayGetSizeHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 1
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array get size parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- return array.length()
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_size_array(command)
16
+ else
17
+ return get_size(command)
18
+ end
14
19
  rescue Exception => e
15
20
  return e
16
21
  end
17
22
  end
23
+
24
+ def get_size_array(command)
25
+ array = command.payload[0]
26
+ size = 1
27
+ while array.is_a? Array
28
+ size = size * array.length
29
+ array = array[0]
30
+ end
31
+ size
32
+ end
33
+
34
+ def get_size(command)
35
+ command.payload[0].length
36
+ end
18
37
  end
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end
@@ -10,11 +10,38 @@ class ArrayGetItemHandler < AbstractCommandHandler
10
10
  if command.payload.length < @required_parameters_count
11
11
  raise ArgumentError.new "Array get item parameters mismatch"
12
12
  end
13
- array = command.payload[0]
14
- index = command.payload[1,]
15
- return array[index]
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_item_array(command)
16
+ elsif command.payload[0].is_a? Hash
17
+ return get_item_hash(command)
18
+ else
19
+ raise ArgumentError.new "Cannot get element from %s" % [command.payload[0]]
20
+ end
16
21
  rescue Exception => e
17
- return e
22
+ e
23
+ end
24
+ end
25
+
26
+ def get_item_array(command)
27
+ array = command.payload[0]
28
+ indexes = if command.payload[1].is_a? Array
29
+ command.payload[1]
30
+ else
31
+ command.payload[1..]
32
+ end
33
+
34
+ if array.is_a? Array
35
+ indexes.each { |i|
36
+ array = array[i]
37
+ }
38
+ array
18
39
  end
19
40
  end
41
+
42
+ def get_item_hash(command)
43
+ hash = command.payload[0]
44
+ key = command.payload[1]
45
+ hash[key]
46
+ end
20
47
  end
@@ -1,9 +1,21 @@
1
1
  require_relative 'abstract_command_handler'
2
2
 
3
3
  class ArrayGetRankHandler < AbstractCommandHandler
4
+ def initialize
5
+ @required_parameters_count = 1
6
+ end
4
7
  def process(command)
5
8
  begin
6
- raise ArgumentError.new "ArrayGetRankHandler not implemented"
9
+ if command.payload.length < @required_parameters_count
10
+ raise ArgumentError.new "Array get rank parameters mismatch"
11
+ end
12
+ array = command.payload[0]
13
+ rank = 0
14
+ while array.is_a? Array
15
+ rank = rank + 1
16
+ array = array[0]
17
+ end
18
+ return rank
7
19
  rescue Exception => e
8
20
  return e
9
21
  end
@@ -4,15 +4,34 @@ class ArrayGetSizeHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 1
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array get size parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- return array.length()
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_size_array(command)
16
+ else
17
+ return get_size(command)
18
+ end
14
19
  rescue Exception => e
15
20
  return e
16
21
  end
17
22
  end
23
+
24
+ def get_size_array(command)
25
+ array = command.payload[0]
26
+ size = 1
27
+ while array.is_a? Array
28
+ size = size * array.length
29
+ array = array[0]
30
+ end
31
+ size
32
+ end
33
+
34
+ def get_size(command)
35
+ command.payload[0].length
36
+ end
18
37
  end
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end
@@ -10,11 +10,38 @@ class ArrayGetItemHandler < AbstractCommandHandler
10
10
  if command.payload.length < @required_parameters_count
11
11
  raise ArgumentError.new "Array get item parameters mismatch"
12
12
  end
13
- array = command.payload[0]
14
- index = command.payload[1,]
15
- return array[index]
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_item_array(command)
16
+ elsif command.payload[0].is_a? Hash
17
+ return get_item_hash(command)
18
+ else
19
+ raise ArgumentError.new "Cannot get element from %s" % [command.payload[0]]
20
+ end
16
21
  rescue Exception => e
17
- return e
22
+ e
23
+ end
24
+ end
25
+
26
+ def get_item_array(command)
27
+ array = command.payload[0]
28
+ indexes = if command.payload[1].is_a? Array
29
+ command.payload[1]
30
+ else
31
+ command.payload[1..]
32
+ end
33
+
34
+ if array.is_a? Array
35
+ indexes.each { |i|
36
+ array = array[i]
37
+ }
38
+ array
18
39
  end
19
40
  end
41
+
42
+ def get_item_hash(command)
43
+ hash = command.payload[0]
44
+ key = command.payload[1]
45
+ hash[key]
46
+ end
20
47
  end
@@ -1,9 +1,21 @@
1
1
  require_relative 'abstract_command_handler'
2
2
 
3
3
  class ArrayGetRankHandler < AbstractCommandHandler
4
+ def initialize
5
+ @required_parameters_count = 1
6
+ end
4
7
  def process(command)
5
8
  begin
6
- raise ArgumentError.new "ArrayGetRankHandler not implemented"
9
+ if command.payload.length < @required_parameters_count
10
+ raise ArgumentError.new "Array get rank parameters mismatch"
11
+ end
12
+ array = command.payload[0]
13
+ rank = 0
14
+ while array.is_a? Array
15
+ rank = rank + 1
16
+ array = array[0]
17
+ end
18
+ return rank
7
19
  rescue Exception => e
8
20
  return e
9
21
  end
@@ -4,15 +4,34 @@ class ArrayGetSizeHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 1
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array get size parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- return array.length()
13
+
14
+ if command.payload[0].is_a? Array
15
+ return get_size_array(command)
16
+ else
17
+ return get_size(command)
18
+ end
14
19
  rescue Exception => e
15
20
  return e
16
21
  end
17
22
  end
23
+
24
+ def get_size_array(command)
25
+ array = command.payload[0]
26
+ size = 1
27
+ while array.is_a? Array
28
+ size = size * array.length
29
+ array = array[0]
30
+ end
31
+ size
32
+ end
33
+
34
+ def get_size(command)
35
+ command.payload[0].length
36
+ end
18
37
  end
@@ -4,18 +4,44 @@ class ArraySetItemHandler < AbstractCommandHandler
4
4
  def initialize
5
5
  @required_parameters_count = 3
6
6
  end
7
+
7
8
  def process(command)
8
9
  begin
9
10
  if command.payload.length < @required_parameters_count
10
11
  raise ArgumentError.new "Array set item parameters mismatch"
11
12
  end
12
- array = command.payload[0]
13
- value = command.payload[1]
14
- index = command.payload[2,]
15
- array[index] = value
13
+ if command.payload[0].is_a? Array
14
+ set_item_array(command)
15
+ elsif command.payload[0].is_a? Hash
16
+ set_item_hash(command)
17
+ else
18
+ raise ArgumentError.new "Cannot set element of %s" % [command.payload[0]]
19
+ end
16
20
  return 0
17
21
  rescue Exception => e
18
22
  return e
19
23
  end
20
24
  end
25
+
26
+ def set_item_array(command)
27
+ array = command.payload[0]
28
+ value = command.payload[1]
29
+ indexes = if command.payload[2].is_a? Array
30
+ command.payload[2]
31
+ else
32
+ command.payload[2..]
33
+ end
34
+ indexes[..-2].each { |i|
35
+ array = array[i]
36
+ }
37
+ array[indexes[-1]] = value
38
+ end
39
+
40
+ def set_item_hash(command)
41
+ hash = command.payload[0]
42
+ key = command.payload[1]
43
+ value = command.payload[2]
44
+ hash[key] = value
45
+ end
46
+
21
47
  end
@@ -27,7 +27,7 @@ class InvocationContext < AbstractInvocationContext
27
27
  end
28
28
 
29
29
  def iterator
30
- if @current_command.command_type != CommandType::REFERENCE
30
+ if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM, CommandType::ARRAY_SET_ITEM].include? @current_command.command_type
31
31
  raise "Object is not iterable"
32
32
  else
33
33
  return InvocationContextIterator.new(self)
@@ -35,20 +35,20 @@ class InvocationContext < AbstractInvocationContext
35
35
  end
36
36
 
37
37
  def [](i)
38
- if @current_command.command_type != CommandType::REFERENCE
38
+ if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
39
39
  raise "Object is not iterable"
40
40
  else
41
41
  invocation_context_iterator = InvocationContextIterator.new(self)
42
- return invocation_context_iterator[i]
42
+ invocation_context_iterator[i]
43
43
  end
44
44
  end
45
45
 
46
46
  def []=(i, value)
47
- if @current_command.command_type != CommandType::REFERENCE
47
+ if not [CommandType::REFERENCE, CommandType::ARRAY_SET_ITEM, CommandType::ARRAY_GET_ITEM].include? @current_command.command_type
48
48
  raise "Object is not iterable"
49
49
  else
50
50
  invocation_context_iterator = InvocationContextIterator.new(self)
51
- return invocation_context_iterator[i] = value
51
+ invocation_context_iterator[i] = value
52
52
  end
53
53
  end
54
54
 
@@ -133,6 +133,16 @@ class InvocationContext < AbstractInvocationContext
133
133
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
134
134
  end
135
135
 
136
+ def get_enum_name(*args)
137
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_NAME, [*args])
138
+ return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
139
+ end
140
+
141
+ def get_enum_value(*args)
142
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_VALUE, [*args])
143
+ return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
144
+ end
145
+
136
146
  def retrieve_array(*args)
137
147
  local_command = Command.new(@runtime_name, CommandType::RETRIEVE_ARRAY, [*args])
138
148
  localInvCtx = InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
@@ -72,6 +72,12 @@ class RuntimeContext < AbstractRuntimeContext
72
72
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
73
73
  end
74
74
 
75
+ def get_enum_item(*args)
76
+ local_command = Command.new(@runtime_name, CommandType::GET_ENUM_ITEM, [*args])
77
+ @current_command = nil
78
+ return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
79
+ end
80
+
75
81
 
76
82
  def build_command(command)
77
83
  command.payload.each_index {|i|
@@ -27,6 +27,10 @@ class CommandType
27
27
  SET_INSTANCE_FIELD = 25
28
28
  INVOKE_GENERIC_STATIC_METHOD = 26
29
29
  INVOKE_GENERIC_METHOD = 27
30
+ CREATE_GENERIC_CLASS_INSTANCE = 28
31
+ GET_ENUM_ITEM = 29
32
+ GET_ENUM_NAME = 30
33
+ GET_ENUM_VALUE = 31
30
34
 
31
35
  def self.get_name(command_number)
32
36
  case command_number
@@ -86,6 +90,14 @@ class CommandType
86
90
  return 'INVOKE_GENERIC_STATIC_METHOD'
87
91
  when 27
88
92
  return 'INVOKE_GENERIC_METHOD'
93
+ when 28
94
+ return 'CREATE_GENERIC_CLASS_INSTANCE'
95
+ when 29
96
+ return 'GET_ENUM_ITEM'
97
+ when 30
98
+ return 'GET_ENUM_NAME'
99
+ when 31
100
+ return 'GET_ENUM_VALUE'
89
101
  end
90
102
  end
91
103
  end