jnat 0.11.2

A wrapper around the jni crate
Documentation
extern crate jnat;

use jnat::{
  jnat_macros::jnat,
  jni::{objects::JClass, JNIEnv},
  Array, Env,
};
use std::fmt::Display;

jnat!(Array, method, (JNIEnv, JClass) -> ());

fn method(env: JNIEnv, _: JClass) {
  let mut env = Env::new(&env);

  let boolean_array = env.new_boolean_array(10);
  print_array(&boolean_array);
  print!("-");
  boolean_array.set(0, true).unwrap();
  print_array(&boolean_array);
  println!();

  let byte_array = env.new_byte_array(10);
  print_array(&byte_array);
  print!("-");
  byte_array.set(0, 1).unwrap();
  print_array(&byte_array);
  println!();

  let char_array = env.new_char_array(10);
  print_array(&char_array);
  print!("-");
  char_array.set(0, 'a').unwrap();
  print_array(&char_array);
  println!();

  let double_array = env.new_double_array(10);
  print_array(&double_array);
  print!("-");
  double_array.set(0, 0.1).unwrap();
  print_array(&double_array);
  println!();

  let float_array = env.new_float_array(10);
  print_array(&float_array);
  print!("-");
  float_array.set(0, 0.1).unwrap();
  print_array(&float_array);
  println!();

  let int_array = env.new_int_array(10);
  print_array(&int_array);
  print!("-");
  int_array.set(0, 1).unwrap();
  print_array(&int_array);
  println!();

  let long_array = env.new_long_array(10);
  print_array(&long_array);
  print!("-");
  long_array.set(0, 1).unwrap();
  print_array(&long_array);
  println!();

  let short_array = env.new_short_array(10);
  print_array(&short_array);
  print!("-");
  short_array.set(0, 1).unwrap();
  print_array(&short_array);
  println!();
}

fn print_array<'a, T: Display, J>(arr: &impl Array<'a, T, J>) {
  for i in 0..arr.length() {
    print!("{}", arr.get(i).unwrap());
  }
}