All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.cccev.f2.concept.domain.model.InformationConceptDTO.kt Maven / Gradle / Ivy

There is a newer version: 0.15.0
Show newest version
package cccev.f2.concept.domain.model

import cccev.f2.concept.domain.D2InformationConceptF2Page
import cccev.f2.unit.domain.model.DataUnitDTO
import cccev.f2.unit.domain.model.DataUnitDTOBase
import cccev.s2.concept.domain.InformationConceptId
import cccev.s2.concept.domain.InformationConceptIdentifier
import kotlin.js.JsExport
import kotlin.js.JsName
import kotlinx.serialization.Serializable

/**
 * See [cccev.s2.concept.domain.model.InformationConcept]
 * @d2 model
 * @parent [D2InformationConceptF2Page]
 * @order 10
 */
@JsExport
@JsName("InformationConceptDTO")
interface InformationConceptDTO {
    /**
     * Unique id of this information concept.
     */
    val id: InformationConceptId

    /**
     * Unique identifier of this information concept.
     */
    val identifier: InformationConceptIdentifier?

    /**
     * The name of this information concept.
     * @example [cccev.s2.concept.domain.model.InformationConcept.name]
     */
    val name: String

    /**
     * The data unit used for this information concept.
     */
    val unit: DataUnitDTO?

    /**
     * The description of this information concept.
     * @example [cccev.s2.concept.domain.model.InformationConcept.description]
     */
    val description: String?

    /**
     * Expression to evaluate in order to auto-compute the SupportedValue associated with this information concept, if applicable. 
* For now, the expression will be evaluated using a Kotlin engine.
* The expression may contain other known information concepts, identified by their id. They must be declared in the `dependsOn` field. * @example [cccev.s2.concept.domain.model.InformationConcept.expressionOfExpectedValue] */ val expressionOfExpectedValue: String? /** * A list of information concepts this one depends on for auto-computation, if applicable. * @example [cccev.s2.concept.domain.model.InformationConcept.dependsOn] */ val dependsOn: List? } /** * @d2 inherit */ @Serializable data class InformationConceptDTOBase( override val id: InformationConceptId, override val identifier: InformationConceptIdentifier? = null, override val name: String, override val unit: DataUnitDTOBase? = null, override val description: String? = null, override val expressionOfExpectedValue: String? = null, override val dependsOn: List? = emptyList(), ): InformationConceptDTO




© 2015 - 2024 Weber Informatics LLC | Privacy Policy