2018-02-21 21:51:40 +01:00
|
|
|
package org.moire.ultrasonic.domain
|
|
|
|
|
|
|
|
import java.io.Serializable
|
2020-06-13 19:04:31 +02:00
|
|
|
import org.moire.ultrasonic.domain.MusicDirectory.Entry
|
2018-02-21 21:51:40 +01:00
|
|
|
|
|
|
|
data class Share(
|
2021-10-14 19:25:25 +02:00
|
|
|
override var id: String,
|
2018-03-24 19:47:55 +01:00
|
|
|
var url: String? = null,
|
|
|
|
var description: String? = null,
|
|
|
|
var username: String? = null,
|
|
|
|
var created: String? = null,
|
|
|
|
var lastVisited: String? = null,
|
|
|
|
var expires: String? = null,
|
|
|
|
var visitCount: Long? = null,
|
|
|
|
private val entries: MutableList<Entry> = mutableListOf()
|
2021-10-19 21:02:51 +02:00
|
|
|
) : Serializable, GenericEntry() {
|
2021-05-12 13:28:33 +02:00
|
|
|
override val name: String?
|
2021-08-26 20:07:32 +02:00
|
|
|
get() {
|
|
|
|
if (url != null) {
|
|
|
|
return urlPattern.matcher(url!!).replaceFirst("$1")
|
|
|
|
}
|
|
|
|
return null
|
|
|
|
}
|
2018-02-21 21:51:40 +01:00
|
|
|
|
|
|
|
fun getEntries(): List<Entry> {
|
|
|
|
return entries.toList()
|
|
|
|
}
|
|
|
|
|
|
|
|
fun addEntry(entry: Entry) {
|
|
|
|
entries.add(entry)
|
|
|
|
}
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
private const val serialVersionUID = 1487561657691009668L
|
|
|
|
private val urlPattern = ".*/([^/?]+).*".toPattern()
|
|
|
|
}
|
|
|
|
}
|