Есть ли простой способ проверить, реализуют ли два класса общий интерфейс?Я использую IntelliJ и вызываю библиотеку Java (Elastic Java High Level REST Client) из некоторого кода Kotlin.
SearchHit
и GetResponse
классы имеют методы getId()
и getSourceAsString()
.Как я могу узнать, реализуют ли они общий интерфейс, чтобы я мог объединить свои функции, которые принимают эти объекты в качестве параметров?
Это мой код:
fun JsonAdapter<Descriptor>.fromHit(hit: SearchHit): Descriptor {
val descriptor = this.fromJson(hit.sourceAsString)
if (descriptor == null) {
throw BadFormatException("Json descriptorDeserializer returned a null value")
}
descriptor.descriptorId = hit.id
return descriptor
}
fun JsonAdapter<Descriptor>.fromResponse(response: GetResponse): Descriptor {
val descriptor = this.fromJson(response.sourceAsString)
if (descriptor == null) {
throw BadFormatException("Json descriptorDeserializer returned a null value")
}
descriptor.descriptorId = response.id
return descriptor
}