как установить значение для даты и суммы (валюты) в конструкторе по умолчанию в корде - PullRequest
0 голосов
/ 05 июня 2018

как установить значение для конструктора по умолчанию для поля даты и суммы (в валюте) (в схеме) в программах Corda.Я пытался комментировать конструктор, но встретил ошибку в API.

1 Ответ

0 голосов
/ 05 июня 2018

Вот схема со значением по умолчанию для одного из полей, value:

object IOUSchemaV1 : MappedSchema(
        schemaFamily = IOUSchema.javaClass,
        version = 1,
        mappedTypes = listOf(PersistentIOU::class.java)) {
    @Entity
    @Table(name = "iou_states")
    class PersistentIOU(
            @Column(name = "lender")
            var lenderName: String,

            @Column(name = "borrower")
            var borrowerName: String,

            @Column(name = "linear_id")
            var linearId: UUID,

            @Column(name = "value")
            var value: Int = 93
    ) : PersistentState() {
        // Default constructor required by hibernate.
        constructor(): this("", "", UUID.randomUUID(), 0)
    }
}

Если вы не предоставите значение для этого поля, тогда значение по умолчанию 93будет использоваться.Например:

override fun generateMappedObject(schema: MappedSchema): PersistentState {
    return when (schema) {
        is IOUSchemaV1 -> IOUSchemaV1.PersistentIOU(
                this.lender.name.toString(),
                this.borrower.name.toString(),
                this.linearId.id
        )
        else -> throw IllegalArgumentException("Unrecognised schema $schema")
    }
}
...