pub trait ClassDefinition:
Sync
+ Send
+ AsAny
+ Debug
+ DynClone {
// Required methods
fn name(&self) -> Cow<'_, str>;
fn super_class_name(&self) -> Option<String>;
fn interface_names(&self) -> Vec<String>;
fn access_flags(&self) -> ClassAccessFlags;
fn instantiate<'life0, 'life1, 'async_trait>(
&'life0 self,
jvm: &'life1 Jvm,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ClassInstance>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn prepare<'life0, 'life1, 'async_trait>(
&'life0 self,
jvm: &'life1 Jvm,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn method(
&self,
name: &str,
descriptor: &str,
is_static: bool,
) -> Option<Box<dyn Method>>;
fn field(
&self,
name: &str,
descriptor: &str,
is_static: bool,
) -> Option<Box<dyn Field>>;
fn fields(&self) -> Vec<Box<dyn Field>>;
fn get_static_field(&self, field: &dyn Field) -> Result<JavaValue>;
fn put_static_field(
&mut self,
field: &dyn Field,
value: JavaValue,
) -> Result<()>;
// Provided method
fn as_array_class_definition(&self) -> Option<&dyn ArrayClassDefinition> { ... }
}Required Methods§
fn name(&self) -> Cow<'_, str>
fn super_class_name(&self) -> Option<String>
fn interface_names(&self) -> Vec<String>
fn access_flags(&self) -> ClassAccessFlags
fn instantiate<'life0, 'life1, 'async_trait>(
&'life0 self,
jvm: &'life1 Jvm,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn ClassInstance>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn prepare<'life0, 'life1, 'async_trait>(
&'life0 self,
jvm: &'life1 Jvm,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn method( &self, name: &str, descriptor: &str, is_static: bool, ) -> Option<Box<dyn Method>>
fn field( &self, name: &str, descriptor: &str, is_static: bool, ) -> Option<Box<dyn Field>>
fn fields(&self) -> Vec<Box<dyn Field>>
fn get_static_field(&self, field: &dyn Field) -> Result<JavaValue>
fn put_static_field( &mut self, field: &dyn Field, value: JavaValue, ) -> Result<()>
Provided Methods§
fn as_array_class_definition(&self) -> Option<&dyn ArrayClassDefinition>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".