dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10'
implementation 'io.micronaut.kotlin:micronaut-kotlin-runtime:1.0.0'
implementation 'io.micronaut.kotlin:micronaut-kotlin-extension-runtime:1.0.0'
}
kotlin
package com.example.library.extensions
import com.example.library.MyClass
fun MyClass.greet() {
println("Hello from MyClass!")
}
kotlin
package com.example.library.extensions
import com.example.library.MyClass
var MyClass.customProperty: String
get() {
return "Custom Property"
}
set(value) {
}
package com.example.client;
import com.example.library.MyClass;
import com.example.library.extensions.MyClassKt;
public class Client {
public static void main(String[] args) {
MyClass myClass = new MyClass();
MyClassKt.greet(myClass);
String customProperty = MyClassKt.getCustomProperty(myClass);
System.out.println(customProperty);
MyClassKt.setCustomProperty(myClass, "New Custom Property");
}
}