¿Es posible acceder a las funciones de extensión desde el código Java?
Definí la función de extensión en un archivo Kotlin.
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
Donde MyModel
es una clase Java (generada). Ahora, quería acceder a él en mi código normal de Java:
MyModel model = new MyModel();
model.bar();
Sin embargo, eso no funciona. El IDE no reconocerá el bar()
método y la compilación falla.
Lo que sí funciona es usar una función estática de kotlin:
public fun bar(): Int {
return 2*2
}
mediante el uso de import com.test.extensions.ExtensionsPackage
modo que mi IDE parece estar configurado correctamente.
Busqué en todo el archivo de interoperabilidad Java de los documentos de Kotlin y también busqué mucho en Google, pero no pude encontrarlo.
¿Qué estoy haciendo mal? ¿Es esto posible?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
¿ Tú también ?