Skip to content

Commit 8ff3714

Browse files
Added exception handling for amend extension function.
1 parent c795110 commit 8ff3714

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ kotlin.incremental=false
66
kotlin.code.style=official
77

88
onixlabs.development.jarsign.keystore=../lib/onixlabs.development.pkcs12
9-
onixlabs.development.jarsign.password=5891f47942424d2acbe108691fdb5ba258712fca7e4762be4327241ebf3dbfa3
9+
onixlabs.development.jarsign.password=5891f47942424d2acbe108691fdb5ba258712fca7e4762be4327241ebf3dbfa3

onixlabs-corda-identity-framework-contract/src/main/kotlin/io/onixlabs/corda/identityframework/contract/Extensions.CordaClaim.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,11 @@ import net.corda.core.contracts.StateAndRef
2626
* @param value The amended claim value.
2727
* @return Returns an amended claim.
2828
*/
29-
inline fun <T : Any, reified U : CordaClaim<T>> StateAndRef<U>.amend(value: T): U {
30-
return U::class.java.cast(state.data.amend(ref, value))
29+
inline fun <T : Any, reified U : CordaClaim<T>> StateAndRef<U>.amend(value: T): U = try {
30+
U::class.java.cast(state.data.amend(ref, value))
31+
} catch (ex: ClassCastException) {
32+
val message = "${ex.message}. Did you forget to override ${U::class.java.simpleName}.amend?"
33+
throw IllegalStateException(message, ex)
3134
}
3235

3336
/**

0 commit comments

Comments
 (0)