
import java_swift

/// generated by: genswift.java 'java/lang|java/util|java/sql|java/awt|javax/swing' ///

/// interface com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener ///

public protocol SwiftHelloBinding_Listener: JavaProtocol {

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processNumber(double)

    func processNumber( number: Double )

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processStringMap(com.johnholdsworth.swiftbindings.SwiftHelloTypes$StringMap)

    func processStringMap( map: [String:String]? )

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processStringMapList(com.johnholdsworth.swiftbindings.SwiftHelloTypes$StringMapList)

    func processStringMapList( map: [String:[String]]? )

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processText(java.lang.String)

    func processText( text: String? )

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processedMap(com.johnholdsworth.swiftbindings.SwiftHelloTypes$ListenerMap)

    func processedMap( map: [String:SwiftHelloTypes_TextListener]? )

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processedMapList(com.johnholdsworth.swiftbindings.SwiftHelloTypes$ListenerMapList)

    func processedMapList( map: [String:[SwiftHelloTypes_TextListener]]? )

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.setCacheDir(java.lang.String)

    func setCacheDir( cacheDir: String? )

    /// public abstract com.johnholdsworth.swiftbindings.SwiftHelloTest$TestListener com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.testResponder(int)

    func testResponder( loopback: Int ) -> SwiftHelloTest_TestListener!

    /// public abstract double com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.throwException() throws java.lang.Exception

    func throwException() throws /* java.lang.Exception */ -> Double

}


open class SwiftHelloBinding_ListenerForward: JNIObjectForward, SwiftHelloBinding_Listener {

    private static var SwiftHelloBinding_ListenerJNIClass: jclass?

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processNumber(double)

    private static var processNumber_MethodID_10: jmethodID?

    open func processNumber( number: Double ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = jvalue( d: number )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "processNumber", methodSig: "(D)V", methodCache: &SwiftHelloBinding_ListenerForward.processNumber_MethodID_10, args: &__args, locals: &__locals )
    }

    open func processNumber( _ _number: Double ) {
        processNumber( number: _number )
    }

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processStringMap(com.johnholdsworth.swiftbindings.SwiftHelloTypes$StringMap)

    private static var processStringMap_MethodID_11: jmethodID?

    open func processStringMap( map: [String:String]? ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = JNIType.toJava( value: map, mapClass: "com/johnholdsworth/swiftbindings/SwiftHelloTypes$StringMap", locals: &__locals )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "processStringMap", methodSig: "(Lcom/johnholdsworth/swiftbindings/SwiftHelloTypes$StringMap;)V", methodCache: &SwiftHelloBinding_ListenerForward.processStringMap_MethodID_11, args: &__args, locals: &__locals )
    }

    open func processStringMap( _ _map: [String:String]? ) {
        processStringMap( map: _map )
    }

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processStringMapList(com.johnholdsworth.swiftbindings.SwiftHelloTypes$StringMapList)

    private static var processStringMapList_MethodID_12: jmethodID?

    open func processStringMapList( map: [String:[String]]? ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = JNIType.toJava( value: map, mapClass: "com/johnholdsworth/swiftbindings/SwiftHelloTypes$StringMapList", locals: &__locals )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "processStringMapList", methodSig: "(Lcom/johnholdsworth/swiftbindings/SwiftHelloTypes$StringMapList;)V", methodCache: &SwiftHelloBinding_ListenerForward.processStringMapList_MethodID_12, args: &__args, locals: &__locals )
    }

    open func processStringMapList( _ _map: [String:[String]]? ) {
        processStringMapList( map: _map )
    }

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processText(java.lang.String)

    private static var processText_MethodID_13: jmethodID?

    open func processText( text: String? ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = JNIType.toJava( value: text, locals: &__locals )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "processText", methodSig: "(Ljava/lang/String;)V", methodCache: &SwiftHelloBinding_ListenerForward.processText_MethodID_13, args: &__args, locals: &__locals )
    }

    open func processText( _ _text: String? ) {
        processText( text: _text )
    }

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processedMap(com.johnholdsworth.swiftbindings.SwiftHelloTypes$ListenerMap)

    private static var processedMap_MethodID_14: jmethodID?

    open func processedMap( map: [String:SwiftHelloTypes_TextListener]? ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = JNIType.toJava( value: map, mapClass: "com/johnholdsworth/swiftbindings/SwiftHelloTypes$ListenerMap", locals: &__locals )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "processedMap", methodSig: "(Lcom/johnholdsworth/swiftbindings/SwiftHelloTypes$ListenerMap;)V", methodCache: &SwiftHelloBinding_ListenerForward.processedMap_MethodID_14, args: &__args, locals: &__locals )
    }

    open func processedMap( _ _map: [String:SwiftHelloTypes_TextListener]? ) {
        processedMap( map: _map )
    }

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processedMapList(com.johnholdsworth.swiftbindings.SwiftHelloTypes$ListenerMapList)

    private static var processedMapList_MethodID_15: jmethodID?

    open func processedMapList( map: [String:[SwiftHelloTypes_TextListener]]? ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = JNIType.toJava( value: map, mapClass: "com/johnholdsworth/swiftbindings/SwiftHelloTypes$ListenerMapList", locals: &__locals )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "processedMapList", methodSig: "(Lcom/johnholdsworth/swiftbindings/SwiftHelloTypes$ListenerMapList;)V", methodCache: &SwiftHelloBinding_ListenerForward.processedMapList_MethodID_15, args: &__args, locals: &__locals )
    }

    open func processedMapList( _ _map: [String:[SwiftHelloTypes_TextListener]]? ) {
        processedMapList( map: _map )
    }

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.setCacheDir(java.lang.String)

    private static var setCacheDir_MethodID_16: jmethodID?

    open func setCacheDir( cacheDir: String? ) {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = JNIType.toJava( value: cacheDir, locals: &__locals )
        JNIMethod.CallVoidMethod( object: javaObject, methodName: "setCacheDir", methodSig: "(Ljava/lang/String;)V", methodCache: &SwiftHelloBinding_ListenerForward.setCacheDir_MethodID_16, args: &__args, locals: &__locals )
    }

    open func setCacheDir( _ _cacheDir: String? ) {
        setCacheDir( cacheDir: _cacheDir )
    }

    /// public abstract com.johnholdsworth.swiftbindings.SwiftHelloTest$TestListener com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.testResponder(int)

    private static var testResponder_MethodID_17: jmethodID?

    open func testResponder( loopback: Int ) -> SwiftHelloTest_TestListener! {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        __args[0] = jvalue( i: jint(loopback) )
        let __return = JNIMethod.CallObjectMethod( object: javaObject, methodName: "testResponder", methodSig: "(I)Lcom/johnholdsworth/swiftbindings/SwiftHelloTest$TestListener;", methodCache: &SwiftHelloBinding_ListenerForward.testResponder_MethodID_17, args: &__args, locals: &__locals )
        defer { JNI.DeleteLocalRef( __return ) }
        return __return != nil ? SwiftHelloTest_TestListenerForward( javaObject: __return ) : nil
    }

    open func testResponder( _ _loopback: Int ) -> SwiftHelloTest_TestListener! {
        return testResponder( loopback: _loopback )
    }

    /// public abstract double com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.throwException() throws java.lang.Exception

    private static var throwException_MethodID_18: jmethodID?

    open func throwException() throws /* java.lang.Exception */ -> Double {
        var __locals = [jobject]()
        var __args = [jvalue]( repeating: jvalue(), count: 1 )
        let __return = JNIMethod.CallDoubleMethod( object: javaObject, methodName: "throwException", methodSig: "()D", methodCache: &SwiftHelloBinding_ListenerForward.throwException_MethodID_18, args: &__args, locals: &__locals )
        if let throwable = JNI.ExceptionCheck() {
            defer { JNI.DeleteLocalRef( throwable ) }
            throw java_swift.Exception( javaObject: throwable )
        }
        return __return
    }


}

private typealias SwiftHelloBinding_Listener_processNumber_0_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jdouble ) -> ()

private func SwiftHelloBinding_Listener_processNumber_0( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ number: jdouble ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).processNumber( number: number )
}

private typealias SwiftHelloBinding_Listener_processStringMap_1_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jobject? ) -> ()

private func SwiftHelloBinding_Listener_processStringMap_1( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ map: jobject? ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).processStringMap( map: JNIType.toSwift( type: [String:String].self, from: map, consume: false ) )
}

private typealias SwiftHelloBinding_Listener_processStringMapList_2_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jobject? ) -> ()

private func SwiftHelloBinding_Listener_processStringMapList_2( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ map: jobject? ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).processStringMapList( map: JNIType.toSwift( type: [String:[String]].self, from: map, consume: false ) )
}

private typealias SwiftHelloBinding_Listener_processText_3_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jobject? ) -> ()

private func SwiftHelloBinding_Listener_processText_3( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ text: jobject? ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).processText( text: text != nil ? String( javaObject: text ) : nil )
}

private typealias SwiftHelloBinding_Listener_processedMap_4_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jobject? ) -> ()

private func SwiftHelloBinding_Listener_processedMap_4( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ map: jobject? ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).processedMap( map: JNIType.toSwift( type: [String:SwiftHelloTypes_TextListenerForward].self, from: map, consume: false ) )
}

private typealias SwiftHelloBinding_Listener_processedMapList_5_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jobject? ) -> ()

private func SwiftHelloBinding_Listener_processedMapList_5( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ map: jobject? ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).processedMapList( map: JNIType.toSwift( type: [String:[SwiftHelloTypes_TextListenerForward]].self, from: map, consume: false ) )
}

private typealias SwiftHelloBinding_Listener_setCacheDir_6_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jobject? ) -> ()

private func SwiftHelloBinding_Listener_setCacheDir_6( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ cacheDir: jobject? ) -> () {
    SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).setCacheDir( cacheDir: cacheDir != nil ? String( javaObject: cacheDir ) : nil )
}

private typealias SwiftHelloBinding_Listener_testResponder_7_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong, _: jint ) -> jobject?

private func SwiftHelloBinding_Listener_testResponder_7( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong, _ loopback: jint ) -> jobject? {
    let __return = SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).testResponder( loopback: Int(loopback) )
    var __locals = [jobject]()
    return JNI.check( JNIType.toJava( value: __return, locals: &__locals ).l, &__locals, removeLast: true )
}

private typealias SwiftHelloBinding_Listener_throwException_8_type = @convention(c) ( _: UnsafeMutablePointer<JNIEnv?>, _: jobject?, _: jlong ) -> jdouble

private func SwiftHelloBinding_Listener_throwException_8( _ __env: UnsafeMutablePointer<JNIEnv?>, _ __this: jobject?, _ __swiftObject: jlong ) -> jdouble {
    do {
        let __return = try SwiftHelloBinding_ListenerLocal_.swiftObject( jniEnv: __env, javaObject: __this, swiftObject: __swiftObject ).throwException( )
        var __locals = [jobject]()
        return JNI.check( jvalue( d: __return ).d, &__locals, removeLast: true )
    }
    catch let exception as Throwable {
        _ = exception.withJavaObject { JNI.api.Throw( JNI.env, $0 ) }
        return 0
    }
    catch {
        _ = Exception("Unknown exception").withJavaObject { JNI.api.Throw( JNI.env, $0 ) }
        return 0
    }
}

fileprivate class SwiftHelloBinding_ListenerLocal_: JNILocalProxy<SwiftHelloBinding_Listener, Any> {

    fileprivate static let _proxyClass: jclass = {
        var natives = [JNINativeMethod]()

        let SwiftHelloBinding_Listener_processNumber_0_thunk: SwiftHelloBinding_Listener_processNumber_0_type = SwiftHelloBinding_Listener_processNumber_0
        natives.append( JNINativeMethod( name: strdup("__processNumber"), signature: strdup("(JD)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_processNumber_0_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_processStringMap_1_thunk: SwiftHelloBinding_Listener_processStringMap_1_type = SwiftHelloBinding_Listener_processStringMap_1
        natives.append( JNINativeMethod( name: strdup("__processStringMap"), signature: strdup("(JLcom/johnholdsworth/swiftbindings/SwiftHelloTypes$StringMap;)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_processStringMap_1_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_processStringMapList_2_thunk: SwiftHelloBinding_Listener_processStringMapList_2_type = SwiftHelloBinding_Listener_processStringMapList_2
        natives.append( JNINativeMethod( name: strdup("__processStringMapList"), signature: strdup("(JLcom/johnholdsworth/swiftbindings/SwiftHelloTypes$StringMapList;)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_processStringMapList_2_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_processText_3_thunk: SwiftHelloBinding_Listener_processText_3_type = SwiftHelloBinding_Listener_processText_3
        natives.append( JNINativeMethod( name: strdup("__processText"), signature: strdup("(JLjava/lang/String;)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_processText_3_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_processedMap_4_thunk: SwiftHelloBinding_Listener_processedMap_4_type = SwiftHelloBinding_Listener_processedMap_4
        natives.append( JNINativeMethod( name: strdup("__processedMap"), signature: strdup("(JLcom/johnholdsworth/swiftbindings/SwiftHelloTypes$ListenerMap;)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_processedMap_4_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_processedMapList_5_thunk: SwiftHelloBinding_Listener_processedMapList_5_type = SwiftHelloBinding_Listener_processedMapList_5
        natives.append( JNINativeMethod( name: strdup("__processedMapList"), signature: strdup("(JLcom/johnholdsworth/swiftbindings/SwiftHelloTypes$ListenerMapList;)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_processedMapList_5_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_setCacheDir_6_thunk: SwiftHelloBinding_Listener_setCacheDir_6_type = SwiftHelloBinding_Listener_setCacheDir_6
        natives.append( JNINativeMethod( name: strdup("__setCacheDir"), signature: strdup("(JLjava/lang/String;)V"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_setCacheDir_6_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_testResponder_7_thunk: SwiftHelloBinding_Listener_testResponder_7_type = SwiftHelloBinding_Listener_testResponder_7
        natives.append( JNINativeMethod( name: strdup("__testResponder"), signature: strdup("(JI)Lcom/johnholdsworth/swiftbindings/SwiftHelloTest$TestListener;"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_testResponder_7_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let SwiftHelloBinding_Listener_throwException_8_thunk: SwiftHelloBinding_Listener_throwException_8_type = SwiftHelloBinding_Listener_throwException_8
        natives.append( JNINativeMethod( name: strdup("__throwException"), signature: strdup("(J)D"), fnPtr: unsafeBitCast( SwiftHelloBinding_Listener_throwException_8_thunk, to: UnsafeMutableRawPointer.self ) ) )

        natives.append( JNINativeMethod( name: strdup("__finalize"), signature: strdup("(J)V"), fnPtr: unsafeBitCast( JNIReleasableProxy__finalize_thunk, to: UnsafeMutableRawPointer.self ) ) )

        let clazz = JNI.FindClass( proxyClassName() )
        withUnsafePointer(to: &natives[0]) {
            nativesPtr in
            if JNI.api.RegisterNatives( JNI.env, clazz, nativesPtr, jint(natives.count) ) != jint(JNI_OK) {
                JNI.report( "Unable to register java natives" )
            }
        }

        defer { JNI.DeleteLocalRef( clazz ) }
        return JNI.api.NewGlobalRef( JNI.env, clazz )!
    }()

    override open class func proxyClassName() -> String { return "org/swiftjava/com_johnholdsworth/SwiftHelloBinding_ListenerProxy" }
    override open class func proxyClass() -> jclass? { return _proxyClass }

}

extension SwiftHelloBinding_Listener {

    public func localJavaObject( _ locals: UnsafeMutablePointer<[jobject]> ) -> jobject? {
        return SwiftHelloBinding_ListenerLocal_( owned: self, proto: self ).localJavaObject( locals )
    }

}

open class SwiftHelloBinding_ListenerBase: SwiftHelloBinding_Listener {

    public init() {}

    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processNumber(double)

    open func processNumber( number: Double ) /**/ {
    }


    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processStringMap(com.johnholdsworth.swiftbindings.SwiftHelloTypes$StringMap)

    open func processStringMap( map: [String:String]? ) /**/ {
    }


    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processStringMapList(com.johnholdsworth.swiftbindings.SwiftHelloTypes$StringMapList)

    open func processStringMapList( map: [String:[String]]? ) /**/ {
    }


    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processText(java.lang.String)

    open func processText( text: String? ) /**/ {
    }


    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processedMap(com.johnholdsworth.swiftbindings.SwiftHelloTypes$ListenerMap)

    open func processedMap( map: [String:SwiftHelloTypes_TextListener]? ) /**/ {
    }


    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.processedMapList(com.johnholdsworth.swiftbindings.SwiftHelloTypes$ListenerMapList)

    open func processedMapList( map: [String:[SwiftHelloTypes_TextListener]]? ) /**/ {
    }


    /// public abstract void com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.setCacheDir(java.lang.String)

    open func setCacheDir( cacheDir: String? ) /**/ {
    }


    /// public abstract com.johnholdsworth.swiftbindings.SwiftHelloTest$TestListener com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.testResponder(int)

    open func testResponder( loopback: Int ) -> SwiftHelloTest_TestListener! /**/ {
        return nil
    }


    /// public abstract double com.johnholdsworth.swiftbindings.SwiftHelloBinding$Listener.throwException() throws java.lang.Exception

    open func throwException() throws /* java.lang.Exception */ -> Double /**/ {
        return 0
    }


}
