Sharingang/Sharingang-Android

View on GitHub
app/src/main/java/com/example/sharingang/database/room/ListConverter.kt

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package com.example.sharingang.database.room


import androidx.room.TypeConverter

/**
 * A utility object needed to store List fields in our Room entities.
 */
object ListConverter {

    /**
     * Function to convert String into List of String.
     * @param[stringList] The formatted string containing the list elements.
     * @return The list of Strings contained in the param
     */
    @TypeConverter
    fun toList(stringList: String?): List<String?> {
        if (stringList.isNullOrEmpty()) {
            return ArrayList()
        }
        return stringList.split(',')
    }

    /**
     * Function to convert List of Strings into single String.
     * Uses commas to separate elements.
     * @param[list] List of Strings to convert.
     * @return String containing all elements of the List.
     */
    @TypeConverter
    fun fromList(list: List<String?>): String {
        return list.joinToString(separator = ",")
    }
}