For setters cuba enhancing adds the code that invokes this.propertyChanged method. If the enhanced entity is a Kotlin entity and the field name starts with "is", e.g. isApproved:
@Table(name = "SAMPLE_CONTRACT")
@Entity(name = "sample_Contract")
class Contract : StandardEntity() {
@Column(name = "IS_APPROVED")
var isApproved: Boolean? = null
}
then the propertyChanged invocation is not added to the setter method. This is because Kotlin generate a setter with non-standard name for this case. The setter name will be setApproved, not setIsApproved.
For setters cuba enhancing adds the code that invokes
this.propertyChanged
method. If the enhanced entity is a Kotlin entity and the field name starts with "is", e.g.isApproved
:then the
propertyChanged
invocation is not added to the setter method. This is because Kotlin generate a setter with non-standard name for this case. The setter name will besetApproved
, notsetIsApproved
.See Kotlin documentation
See related CUBA issue