Второй конструктор класса Kotlin с другим параметром

При преобразовании довольно простого приложения из Java в Kotlin я столкнулся с одной «проблемой», которую я не могу исправить.

У меня есть класс ScanInfo который выглядит так на Java (без геттеров и сеттеров)

 public class ScanInfo { private String source; private String label_type; private String data; public ScanInfo(Intent intent) { ... Get Info from intent and assign the values ... this.source = ... this.label_type = .... this.data = .... } } 

Теперь в Kotlin я могу создать класс

 class ScanInfo (var source: String, var label_type: String, var data: String) 

Но я не знаю, как заставить его работать, поэтому я могу создать объект ScanInfo с параметром Intent в качестве параметра. Я пробовал с компаньоном, объектом, сопутствующим объектом, но я не могу найти правильный синтаксис.

Я не прав, чтобы искать такое решение при использовании Kotlin или я просто не использую правильный kotlin-constructor ? Если это возможно, как я могу создать объект ScanInfo с параметром Intent as?

 var result = ScanInfo(intent) 

Заранее спасибо.

Это способ:

 class ScanInfo(intent: Intent) { private val source = intent.source private val labelType = intent.labelType private val data = intent.data } 

ИЛИ

 class ScanInfo(intent: Intent) { private val source: String private val labelType: String private val data: String init { source = intent.data labelType = intent.data data = intent.data } }