[][src]Struct j4rs::Jvm

pub struct Jvm { /* fields omitted */ }

Holds the assets for the JVM

Methods

impl Jvm[src]

pub fn new(
    jvm_options: &[String],
    lib_name_to_load: Option<String>
) -> Result<Jvm>
[src]

Creates a new Jvm.

pub fn attach_thread() -> Result<Jvm>[src]

Attaches the current thread to an active JavaVM

pub fn detach_thread_on_drop(&mut self, detach: bool)[src]

If true, the thread will not be detached when the Jvm is eing dropped. This is useful when creating a Jvm while on a Thread that is created in the Java world. When this Jvm is dropped, we don't want to detach the thread from the Java VM.

It prevents errors like: attempting to detach while still running code

pub fn try_from(jni_environment: *mut JNIEnv) -> Result<Jvm>[src]

pub fn create_instance(
    &self,
    class_name: &str,
    inv_args: &[InvocationArg]
) -> Result<Instance>
[src]

Creates an Instance of the class class_name, passing an array of InvocationArgs to construct the instance.

pub fn static_class(&self, class_name: &str) -> Result<Instance>[src]

Retrieves the static class class_name.

pub fn create_java_array(
    &self,
    class_name: &str,
    inv_args: &[InvocationArg]
) -> Result<Instance>
[src]

Creates a new Java Array with elements of the class class_name. The array will have the InvocationArgs populated. The InvocationArgs must be of type class_name.

pub fn create_java_list(
    &self,
    class_name: &str,
    inv_args: &[InvocationArg]
) -> Result<Instance>
[src]

Creates a new Java List with elements of the class class_name. The array will have the InvocationArgs populated. The InvocationArgs must be of type class_name.

pub fn invoke(
    &self,
    instance: &Instance,
    method_name: &str,
    inv_args: &[InvocationArg]
) -> Result<Instance>
[src]

Invokes the method method_name of a created Instance, passing an array of InvocationArgs. It returns an Instance as the result of the invocation.

pub fn field(&self, instance: &Instance, field_name: &str) -> Result<Instance>[src]

Retrieves the field field_name of a created Instance.

pub fn invoke_to_channel(
    &self,
    instance: &Instance,
    method_name: &str,
    inv_args: &[InvocationArg]
) -> Result<InstanceReceiver>
[src]

Invokes the method method_name of a created Instance, passing an array of InvocationArgs. It returns a Result of InstanceReceiver that may be used to get an underlying Receiver<Instance>. The result of the invocation will come via this Receiver.

pub fn init_callback_channel(
    &self,
    instance: &Instance
) -> Result<InstanceReceiver>
[src]

pub fn invoke_static(
    &self,
    class_name: &str,
    method_name: &str,
    inv_args: &[InvocationArg]
) -> Result<Instance>
[src]

Invokes the static method method_name of the class class_name, passing an array of InvocationArgs. It returns an Instance as the result of the invocation.

pub fn clone_instance(&self, instance: &Instance) -> Result<Instance>[src]

Creates a clone of the provided Instance

pub fn cast(&self, from_instance: &Instance, to_class: &str) -> Result<Instance>[src]

Invokes the static method method_name of the class class_name, passing an array of InvocationArgs. It returns an Instance as the result of the invocation.

pub fn to_rust<T>(&self, instance: Instance) -> Result<T> where
    T: DeserializeOwned
[src]

Returns the Rust representation of the provided instance

pub fn deploy_maven(&self, artifact: MavenArtifact) -> Result<()>[src]

Deprecated since 0.7.0:

please use deploy_artifact instead

Deploys a maven artifact in the default j4rs jars location.

This is useful for build scripts that need jars for the runtime that can be downloaded from Maven.

The function deploys only the specified artifact, not its transitive dependencies.

pub fn deploy_artifact<T: Any + JavaArtifact>(&self, artifact: &T) -> Result<()>[src]

Deploys an artifact in the default j4rs jars location.

This is useful for build scripts that need jars for the runtime that can be downloaded from e.g. Maven.

The function deploys only the specified artifact, not its transitive dependencies.

pub fn copy_j4rs_libs_under(path: &str) -> Result<()>[src]

Copies the jassets default directory and the j4rs dynamic library under the specified location. This is useful for cases when with_base_path method is used when building a Jvm with the JvmBuilder. Build scripts should use this method.

pub fn chain(&self, instance: Instance) -> ChainableInstance[src]

Initiates a chain of operations on Instances.

Trait Implementations

impl Clone for Jvm[src]

impl Drop for Jvm[src]

Auto Trait Implementations

impl RefUnwindSafe for Jvm

impl !Send for Jvm

impl !Sync for Jvm

impl Unpin for Jvm

impl UnwindSafe for Jvm

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.