Skip to main content

ClassDefinition

Trait ClassDefinition 

Source
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§

Source

fn name(&self) -> Cow<'_, str>

Source

fn super_class_name(&self) -> Option<String>

Source

fn interface_names(&self) -> Vec<String>

Source

fn access_flags(&self) -> ClassAccessFlags

Source

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,

Source

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,

Source

fn method( &self, name: &str, descriptor: &str, is_static: bool, ) -> Option<Box<dyn Method>>

Source

fn field( &self, name: &str, descriptor: &str, is_static: bool, ) -> Option<Box<dyn Field>>

Source

fn fields(&self) -> Vec<Box<dyn Field>>

Source

fn get_static_field(&self, field: &dyn Field) -> Result<JavaValue>

Source

fn put_static_field( &mut self, field: &dyn Field, value: JavaValue, ) -> Result<()>

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§