|
|
|
|
@ -28,7 +28,7 @@ abstract class DataCSVDescriptor<T : Identifiable>(source: DataSource, vararg el |
|
|
|
|
/** |
|
|
|
|
* List of Realm object identificators |
|
|
|
|
*/ |
|
|
|
|
val realmModelIds = mutableListOf<ObjectIdentifier>() |
|
|
|
|
private val realmModelIds = mutableListOf<ObjectIdentifier>() |
|
|
|
|
|
|
|
|
|
abstract fun parseData(realm: Realm, record: CSVRecord): T? |
|
|
|
|
|
|
|
|
|
@ -75,6 +75,24 @@ abstract class DataCSVDescriptor<T : Identifiable>(source: DataSource, vararg el |
|
|
|
|
this.realmModelIds.clear() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
val csvHeaders: String |
|
|
|
|
get() { |
|
|
|
|
val headers = mutableListOf<String>() |
|
|
|
|
this.fields.forEach { |
|
|
|
|
headers.add(it.header) |
|
|
|
|
} |
|
|
|
|
return headers.joinToString(",") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun toCSV(data: T): String { |
|
|
|
|
|
|
|
|
|
val fields = mutableListOf<String>() |
|
|
|
|
this.fields.forEach { |
|
|
|
|
// fields.add(it.toCSV(data)) |
|
|
|
|
} |
|
|
|
|
return fields.joinToString(",") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -92,7 +110,7 @@ abstract class CSVDescriptor(var source: DataSource, vararg elements: CSVField) |
|
|
|
|
protected var fieldMapping: MutableMap<CSVField, Int> = mutableMapOf() |
|
|
|
|
|
|
|
|
|
init { |
|
|
|
|
if (elements.size > 0) { |
|
|
|
|
if (elements.isNotEmpty()) { |
|
|
|
|
this.fields = elements.toList() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|