aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2019-03-14 15:22:23 +0100
committerRobert Jaros <rjaros@finn.pl>2019-03-14 15:22:23 +0100
commitcb27ed25b9e5a448a3de95be41733e90d75d5933 (patch)
tree5b365218e83cb88be961ddf7af1a8d0b362aaa05 /src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt
parent56f45a8043c24491da9990e10d1cdc9cc22d4eca (diff)
downloadkvision-cb27ed25b9e5a448a3de95be41733e90d75d5933.tar.gz
kvision-cb27ed25b9e5a448a3de95be41733e90d75d5933.tar.bz2
kvision-cb27ed25b9e5a448a3de95be41733e90d75d5933.zip
Refactor DataContainer component to the separate module.
Diffstat (limited to 'src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt')
-rw-r--r--src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt b/src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt
deleted file mode 100644
index 4e5b92d5..00000000
--- a/src/main/kotlin/pl/treksoft/kvision/data/DataComponent.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2017-present Robert Jaros
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package pl.treksoft.kvision.data
-
-import kotlin.properties.ObservableProperty
-import kotlin.properties.ReadWriteProperty
-import kotlin.reflect.KProperty
-
-/**
- * Base interface for observable data model.
- */
-interface DataComponent {
- /**
- * @suppress
- * Internal property
- */
- var container: DataUpdatable?
-
- /**
- * @suppress
- * Internal function for observable properties
- */
- fun <T> obs(initialValue: T): ReadWriteProperty<Any?, T> = object : ObservableProperty<T>(initialValue) {
- override fun afterChange(property: KProperty<*>, oldValue: T, newValue: T) {
- container?.update()
- }
- }
-}
-
-/**
- * Base abstract class for creating observable data model.
- */
-abstract class BaseDataComponent : DataComponent {
- override var container: DataUpdatable? = null
-}