Class JsonInvocationImpl<T>

    • Constructor Detail

      • JsonInvocationImpl

        public JsonInvocationImpl​(Class<T> clazz)
      • JsonInvocationImpl

        public JsonInvocationImpl​(T instance,
                                  Class<T> clazz)
      • JsonInvocationImpl

        public JsonInvocationImpl​(T instance,
                                  Class<T> clazz,
                                  List<Type> classGenTypes)
    • Method Detail

      • invoke

        public Instance invoke​(String methodName,
                               InvocationArg... args)
        Description copied from interface: Instance
        Invokes a method of the instance of the class that is set for this Instance
        Specified by:
        invoke in interface Instance<T>
        Parameters:
        methodName - The method name
        args - The arguments to use for invoking the method
        Returns:
        A Instance instance containing the result of the invocation
      • invokeStatic

        public Instance invokeStatic​(String methodName,
                                     InvocationArg... args)
        Description copied from interface: Instance
        Invokes a static method of the class that is set for this Instance
        Specified by:
        invokeStatic in interface Instance<T>
        Parameters:
        methodName - The static method name
        args - The arguments to use for invoking the static method
        Returns:
        A Instance instance containing the result of the invocation
      • invokeAsync

        public void invokeAsync​(long functionPointerAddress,
                                String methodName,
                                InvocationArg... args)
        Description copied from interface: Instance
        Invokes asynchronously a method of the instance of the class that is set for this Instance. The result of the invocation should be provided later using the performCallback method of a NativeCallbackSupport class. Any possible returned objects from the actual synchronous invocation of the defined method will be dropped.
        Specified by:
        invokeAsync in interface Instance<T>
        Parameters:
        functionPointerAddress - The address of the function pointer that will be used later in the native side in order to actually paerform the callback.
        methodName - The method name
        args - The arguments to use when invoking the callback method (the functionPointer)
      • invokeToChannel

        public void invokeToChannel​(long channelAddress,
                                    String methodName,
                                    InvocationArg... args)
        Description copied from interface: Instance
        Invokes a method of the instance of the class that is set for this Instance. The result of the invocation should be provided later using the doCallback method of a NativeCallbackToRustChannelSupport class. Any possible returned objects from the actual synchronous invocation of the defined method will be dropped.
        Specified by:
        invokeToChannel in interface Instance<T>
        Parameters:
        channelAddress - The memory address of the channel
        methodName - The method name
        args - The arguments
      • initializeCallbackChannel

        public void initializeCallbackChannel​(long channelAddress)
        Description copied from interface: Instance
        Initialize a callback channel for this Instance. The channel can be used by Java to send values to Rust using the doCallback method of a NativeCallbackToRustChannelSupport class.
        Specified by:
        initializeCallbackChannel in interface Instance<T>
        Parameters:
        channelAddress - The memory address of the channel
      • field

        public Instance field​(String fieldName)
        Description copied from interface: Instance
        Retrieves the instance held under the Field fieldName
        Specified by:
        field in interface Instance<T>
        Parameters:
        fieldName - The name of the field to retrieve
        Returns:
        A Instance instance containing the defined field.