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

commonMain.org.hisp.dhis.rules.engine.RuleEvaluationResult.kt Maven / Gradle / Ivy

package org.hisp.dhis.rules.engine

import org.hisp.dhis.rules.models.Rule
import org.hisp.dhis.rules.models.RuleAction
import org.hisp.dhis.rules.models.RuleEffect

internal data class RuleEvaluationResult(
    val rule: Rule,
    val ruleEffects: List,
    val evaluatedAs: Boolean,
    val error: Boolean,
) {
    companion object {
        fun evaluatedResult(
            rule: Rule,
            ruleEffects: List,
        ): RuleEvaluationResult = RuleEvaluationResult(rule, ruleEffects, true, false)

        fun notEvaluatedResult(rule: Rule): RuleEvaluationResult = RuleEvaluationResult(rule, emptyList(), false, false)

        fun errorRule(
            rule: Rule,
            errorMessage: String,
        ): RuleEvaluationResult {
            val effects =
                listOf(
                    RuleEffect(
                        rule.uid,
                        RuleAction(errorMessage, "ERROR"),
                        errorMessage,
                    ),
                )
            return RuleEvaluationResult(rule, effects, false, true)
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy