ModelControlsExport

@Serializable
data class ModelControlsExport(val modelName: String, val numericControls: List<ControlData> = emptyList(), val stringControls: List<StringControlData> = emptyList(), val jsonControls: List<JsonControlData> = emptyList())(source)

A serializable snapshot of all controls extracted from a model instance, spanning all three control families.

Produced by Controls.exportAll and consumed by Controls.importAll. The JSON form is produced and accepted by Controls.exportAllAsJson and Controls.importAllFromJson.

Each family defaults to an empty list so that partial exports are valid — a caller may construct this with only the families of interest populated. Controls not present in an imported snapshot are left unchanged in the model.

Parameters

modelName

name of the model that produced this export

numericControls

snapshot of all ControlData DTOs

stringControls

snapshot of all StringControlData DTOs

jsonControls

snapshot of all JsonControlData DTOs

Constructors

Link copied to clipboard
constructor(modelName: String, numericControls: List<ControlData> = emptyList(), stringControls: List<StringControlData> = emptyList(), jsonControls: List<JsonControlData> = emptyList())

Properties

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

Total number of controls across all three families.

Functions

Link copied to clipboard
fun ModelControlsExport.toReport(title: String? = null, groupByElement: Boolean = false, includeAllowedValues: Boolean = true, jsonValueWidth: Int = 60, includeComment: Boolean = true, block: ReportBuilder.() -> Unit = { controlsReport( export = this@toReport, groupByElement = groupByElement, includeAllowedValues = includeAllowedValues, jsonValueWidth = jsonValueWidth, includeComment = includeComment, ) }): ReportNode.Document