Macro rust_jni::java_class[][src]

macro_rules! java_class {
    (
        package = $package:expr,
        class = $class:ident,
        link = $java_link:expr,
        rust_link = $rust_link:expr,
        extends = $($super_class:ident)::+,
        super_link = $rust_super_link:expr,
        implements = ($(
            name = $($implemented_interface:ident)::+,
            link = $implemented_interface_link:expr,
            methods = ($(
                $interface_method_name:ident
                    ($(
                        $interface_method_argument_name:ident:
                        $interface_method_argument_type:ty
                    ),*) -> $interface_method_result:ty,
            )*),
        )*),
        constructors = ($(
            doc = $constructor_documentation:expr,
            link = $constructor_link:expr,
            $constructor_name:ident
                ($($constructor_argument_name:ident: $constructor_argument_type:ty),*),
        )*),
        methods = ($(
            doc = $method_documentation:expr,
            link = $method_link:expr,
            java_name = $java_method_name:expr,
            $method_name:ident
                ($($method_argument_name:ident: $method_argument_type:ty),*)
                -> $method_result:ty,
        )*),
        static_methods = ($(
            doc = $static_method_documentation:expr,
            link = $static_method_link:expr,
            java_name = $java_static_method_name:expr,
            $static_method_name:ident
                ($($static_method_argument_name:ident: $static_method_argument_type:ty),*)
                -> $static_method_result:ty,
        )*),
        native_methods = ($(
            function_name = $native_function_name:ident,
            $native_method_name:ident
                ($($native_method_argument_name:ident: $native_method_argument_type:ty),*)
                -> $native_method_result:ty,
        )*),
        static_native_methods = ($(
            function_name = $static_native_function_name:ident,
            $static_native_method_name:ident
                ($($static_native_method_argument_name:ident: $static_native_method_argument_type:ty),*)
                -> $static_native_method_result:ty,
        )*),
        super_classes = ($(
            $($super_super_class:ident)::+,
            link = $super_super_class_link:expr
        ),*),
        super_interfaces = ($(
            name = $($implemented_super_interface:ident)::+,
            link = $implemented_super_interface_link:expr,
            methods = ($(
                $super_interface_method_name:ident
                    ($(
                        $super_interface_method_argument_name:ident:
                        $super_interface_method_argument_type:ty
                    ),*) -> $super_interface_method_result:ty,
            )*),
        )*),
    ) => { ... };
}

Generate Java class wrapper.