Struct JMap

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

Wrapper for JObjects that implement java/util/Map. Provides methods to get and set entries and a way to iterate over key/value pairs.

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

Implementations§

Source§

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

Source

pub fn from_env( env: &'b JNIEnv<'a>, obj: JObject<'a>, ) -> Result<JMap<'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, key: JObject<'a>) -> 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 put( &self, key: JObject<'a>, value: JObject<'a>, ) -> Result<Option<JObject<'a>>, Error>

Look up the value for a key. Returns Some with the old value if the key already existed and None if it’s a new key.

Source

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

Remove a value from the map. Returns Some with the removed value and None if there was no value for the key.

Source

pub fn iter(&self) -> Result<JMapIter<'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<JMap<'a, 'b>> for JObject<'a>
where 'a: 'b,

Source§

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

Converts to this type from the input type.
Source§

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

Source§

type Target = JObject<'a>

The resulting type after dereferencing.
Source§

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

Dereferences the value.

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

impl<'a, 'b> UnwindSafe for JMap<'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.