Struct JList

Source
pub struct JList<'a, 'b>
where 'a: 'b,
{ /* private fields */ }
Expand description

Wrapper for JObjects that implement java/util/List. Provides methods to get, add, and remove elements.

Looks up the class and method ids on creation rather than for every method call.

Implementations§

Source§

impl<'a, 'b> JList<'a, 'b>
where 'a: 'b,

Source

pub fn from_env( env: &'b JNIEnv<'a>, obj: JObject<'a>, ) -> Result<JList<'a, 'b>, Error>

Create a map from the environment and an object. This looks up the necessary class and method ids to call all of the methods on it so that exra work doesn’t need to be done on every method call.

Source

pub fn get(&self, idx: i32) -> Result<Option<JObject<'a>>, Error>

Look up the value for a key. Returns Some if it’s found and None if a null pointer would be returned.

Source

pub fn add(&self, value: JObject<'a>) -> Result<(), Error>

Append an element to the list

Source

pub fn insert(&self, idx: i32, value: JObject<'a>) -> Result<(), Error>

Insert an element at a specific index

Source

pub fn remove(&self, idx: i32) -> Result<Option<JObject<'a>>, Error>

Remove an element from the list by index

Source

pub fn size(&self) -> Result<i32, Error>

Get the size of the list

Source

pub fn pop(&self) -> Result<Option<JObject<'a>>, Error>

Pop the last element from the list

Note that this calls size() to determine the last index.

Source

pub fn iter(&self) -> Result<JListIter<'a, 'b, '_>, Error>

Get key/value iterator for the map. This is done by getting the EntrySet from java and iterating over it.

Trait Implementations§

Source§

impl<'a, 'b> From<JList<'a, 'b>> for JObject<'a>
where 'a: 'b,

Source§

fn from(other: JList<'a, 'b>) -> JObject<'a>

Converts to this type from the input type.
Source§

impl<'a, 'b> Deref for JList<'a, 'b>
where 'a: 'b,

Source§

type Target = JObject<'a>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<JList<'a, 'b> as Deref>::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'a, 'b> Freeze for JList<'a, 'b>

§

impl<'a, 'b> RefUnwindSafe for JList<'a, 'b>

§

impl<'a, 'b> !Send for JList<'a, 'b>

§

impl<'a, 'b> !Sync for JList<'a, 'b>

§

impl<'a, 'b> Unpin for JList<'a, 'b>

§

impl<'a, 'b> UnwindSafe for JList<'a, 'b>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<'a, T> Desc<'a, T> for T

Source§

fn lookup(self, _: &JNIEnv<'a>) -> Result<T, Error>

Different

Source§

impl<'a, T> Desc<'a, T> for T

Source§

fn lookup(self, _: &JNIEnv<'a>) -> Result<T, Error>

Look up the concrete type from the JVM.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.