JsonControlData

@Serializable
data class JsonControlData(val keyName: String, val jsonValue: String, val typeHint: String, val elementName: String, val elementId: Int, val elementType: String, val propertyName: String, val comment: String, val modelName: String, val parentElementName: String? = null, val parentElementId: Int? = null, val parentElementType: String? = null, val elementPath: List<String> = emptyList())(source)

A data-transfer object carrying the state of a single JsonControlIfc.

Complex properties (Arrays, Lists, Maps) are exposed purely as JSON strings. The typeHint field carries a human-readable description of the expected Kotlin type (e.g. "List<Double>", "Map<String, Int>") to assist external UIs in constructing valid JSON without requiring them to understand Kotlin reflection.

Parameters

keyName

unique access key: "${elementName}.${propertyName}"

jsonValue

current value of the control serialized as a JSON string

typeHint

human-readable description of the expected Kotlin type, e.g. "List<Double>" or "Map<String, Int>"; provided by KSLJsonControl.expectedTypeHint or inferred from the property's kotlin.reflect.KType at extraction time

elementName

name of the model element that owns this control

elementId

identifier of the model element

elementType

simple class name of the model element

propertyName

name of the annotated property

comment

optional comment supplied in the annotation

modelName

name of the model that contains the element

Constructors

Link copied to clipboard
constructor(keyName: String, jsonValue: String, typeHint: String, elementName: String, elementId: Int, elementType: String, propertyName: String, comment: String, modelName: String, parentElementName: String? = null, parentElementId: Int? = null, parentElementType: String? = null, elementPath: List<String> = emptyList())

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard