com.zepben.evolve.services.common.Difference.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of evolve-sdk Show documentation
Show all versions of evolve-sdk Show documentation
SDK for interaction with the evolve platform
/*
* Copyright 2020 Zeppelin Bend Pty Ltd
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.zepben.evolve.services.common
import com.zepben.evolve.cim.iec61970.base.core.IdentifiedObject
sealed class Difference
data class ValueDifference(val sourceValue: Any?, val targetValue: Any?) : Difference()
data class CollectionDifference @JvmOverloads constructor(
val missingFromTarget: MutableList = mutableListOf(),
val missingFromSource: MutableList = mutableListOf(),
val modifications: MutableList = mutableListOf()
) : Difference()
data class ObjectDifference @JvmOverloads constructor(
val source: T,
val target: T,
val differences: MutableMap = mutableMapOf()
) : Difference()
data class ReferenceDifference(val source: IdentifiedObject?, val targetValue: IdentifiedObject?) : Difference()
data class IndexedDifference(val index: Int, val difference: Difference) : Difference()
© 2015 - 2024 Weber Informatics LLC | Privacy Policy