Если вы используете библиотеку Corda для создания набора UniqueIdentifier
с пользовательским внешним идентификатором, вы можете увидеть, что toString()
сгенерирует шаблон ${externalId}_$id
, т.е. dummyExternalId_10ed0cc3-7bdf-4000-b610-595e36667d7d
.
Таким образом, чтобы преобразовать его обратно в UniqueIdentifier из этой строки, просто разделите на разделитель _
if (p.text.contains("_")) {
val ids = p.text.split("_")
//Create UUID object from string.
val uuid: UUID = UUID.fromString(ids[1])
//Create UniqueIdentifier object using externalId and UUID.
return UniqueIdentifier(ids[0], uuid)
}
Ссылка здесь
Если у вас есть подчеркивание во внешнем идентификаторе, вам, вероятно, понадобится ваша собственная функция.
val potentialIds = input.split("_")
// Drop last one and stitch back the external id
val externalIdString = potentialIds.dropLast(1).joinToString("_")
// Last one is the UUID
val uuid = UUID.fromString(potentialIds.last())
val finalUniqueIdentifier = UniqueIdentifier(externalIdString, uuid)