上記の例を追加するだけで、ここではYo! CorDapp。 YoSchemaV1
以下を参照してください:要するに
// State.
data class State(val origin: Party,
val target: Party,
val yo: String = "Yo!") : ContractState, QueryableState {
override val participants get() = listOf(target)
override val contract get() = Yo()
override fun toString() = "${origin.name}: $yo"
override fun supportedSchemas() = listOf(YoSchemaV1)
override fun generateMappedObject(schema: MappedSchema) = YoSchemaV1.YoEntity(this)
object YoSchemaV1 : MappedSchema(Yo.State::class.java, 1, listOf(YoEntity::class.java)) {
@Entity @Table(name = "yos")
class YoEntity(yo: State) : PersistentState() {
@Column var origin: String = yo.origin.name.toString()
@Column var target: String = yo.target.name.toString()
@Column var yo: String = yo.yo
}
}
}
を、あなたの状態オブジェクトは、上記のように、QueryableState
を実装する必要があります。
フルCorDappがここにあります:https://github.com/roger3cev/yo-cordapp
乾杯
おかげでロジャーは、投稿の日の前に、私はCashSchema.V1のコアコードを見ることでMappedSchemaインターフェイスを使用してのスキーマを作成しました:)しかし、私がしましたプラグインレジストリにスキーマを登録するための課題、 –
この例では、より明確に説明しています。ありがとうございました –
こんにちはRoger、私はYoスキーマのような例を実装しましたが、今私はいくつかのシリアル化エラーを取得していますこれをテストするつもりです。以下、私は、ノードのプラグインのレジストリに同様のシリアル化を追加したが、その後、私はいくつかのスタックオーバーフローのエラーを得た=新しいSerializationCustomization(){ @Override 公共ボイドaddToWhitelist(クラス> AClassは){ //このスタックトレース –