从 Kotlin 访问 Java 个 bean 属性

Accessing Java bean properties from Kotlin

我有 wsimport-ed Java classes 与标准 bean 约定:

public class Request {
    protected String vin;

    public String getVin() {
        return vin;
    }

    public void setVin(String value) {
        this.vin = value;
    }
}

我希望使用漂亮的 属性 语法在 Kotlin 中使用这个 class:

override fun search(request: Request): Response {
  log.info("search(vin={})", request.vin);
  ...

但此代码无法编译:

Error:(59, 64) Kotlin: Cannot access 'vin': it is 'protected/*protected and package*/' in 'SmvSearchRequest'

request.getVin() 当然可以,但是看起来并不比 Java 好。有什么方法可以将那些 classes 视为 属性 持有者吗?

这是 M13 之前的缺失,现在已在 M13 中修复,参见 Youtrack