Package org.astonbitecode.j4rs.api
Interface Instance<T>
-
- All Superinterfaces:
JsonValue,ObjectValue
- All Known Implementing Classes:
EagerJsonInvocationImpl,InvocationArg,JavaFxInvocation,JsonInvocationImpl
public interface Instance<T> extends ObjectValue, JsonValue
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static <T> Instancecast(Instance from, String toClass)Casts a the object that is contained in a Instance to an object of class clazz.static <T> InstancecloneInstance(Instance from)Clones a InstanceInstancefield(String fieldName)Retrieves the instance held under the Field fieldNamedefault TgetOrDeserializeJavaObject()voidinitializeCallbackChannel(long channelAddress)Initialize a callback channel for thisInstance.Instanceinvoke(String methodName, InvocationArg... args)Invokes a method of the instance of the class that is set for thisInstancevoidinvokeAsync(long functionPointerAddress, String methodName, InvocationArg... args)Invokes asynchronously a method of the instance of the class that is set for thisInstance.InstanceinvokeStatic(String methodName, InvocationArg... args)Invokes a static method of the class that is set for thisInstancevoidinvokeToChannel(long channelAddress, String methodName, InvocationArg... args)Invokes a method of the instance of the class that is set for thisInstance.-
Methods inherited from interface org.astonbitecode.j4rs.api.ObjectValue
getObject, getObjectClass, getObjectClassName
-
-
-
-
Method Detail
-
invoke
Instance invoke(String methodName, InvocationArg... args)
Invokes a method of the instance of the class that is set for thisInstance- Parameters:
methodName- The method nameargs- The arguments to use for invoking the method- Returns:
- A
Instanceinstance containing the result of the invocation
-
invokeStatic
Instance invokeStatic(String methodName, InvocationArg... args)
Invokes a static method of the class that is set for thisInstance- Parameters:
methodName- The static method nameargs- The arguments to use for invoking the static method- Returns:
- A
Instanceinstance containing the result of the invocation
-
invokeAsync
void invokeAsync(long functionPointerAddress, String methodName, InvocationArg... args)Invokes asynchronously a method of the instance of the class that is set for thisInstance. The result of the invocation should be provided later using the performCallback method of aNativeCallbackSupportclass. Any possible returned objects from the actual synchronous invocation of the defined method will be dropped.- 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 nameargs- The arguments to use when invoking the callback method (the functionPointer)
-
invokeToChannel
void invokeToChannel(long channelAddress, String methodName, InvocationArg... args)Invokes a method of the instance of the class that is set for thisInstance. The result of the invocation should be provided later using the doCallback method of aNativeCallbackToRustChannelSupportclass. Any possible returned objects from the actual synchronous invocation of the defined method will be dropped.- Parameters:
channelAddress- The memory address of the channelmethodName- The method nameargs- The arguments
-
initializeCallbackChannel
void initializeCallbackChannel(long channelAddress)
Initialize a callback channel for thisInstance. The channel can be used by Java to send values to Rust using the doCallback method of aNativeCallbackToRustChannelSupportclass.- Parameters:
channelAddress- The memory address of the channel
-
field
Instance field(String fieldName)
Retrieves the instance held under the Field fieldName- Parameters:
fieldName- The name of the field to retrieve- Returns:
- A
Instanceinstance containing the defined field.
-
cast
static <T> Instance cast(Instance from, String toClass)
Casts a the object that is contained in a Instance to an object of class clazz.
-
cloneInstance
static <T> Instance cloneInstance(Instance from)
Clones a Instance- Type Parameters:
T- Generically defined return type- Parameters:
from- The object to clone.- Returns:
- a
Instanceinstance.
-
getOrDeserializeJavaObject
default T getOrDeserializeJavaObject()
-
-