SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/api/TootParser.kt

32 lines
1.1 KiB
Kotlin

package jp.juggler.subwaytooter.api
import android.content.Context
import jp.juggler.subwaytooter.api.entity.*
import org.json.JSONArray
import org.json.JSONObject
import jp.juggler.subwaytooter.util.WordTrieTree
import jp.juggler.subwaytooter.util.LinkHelper
class TootParser(
val context : Context,
val linkHelper : LinkHelper,
var pinned : Boolean = false, // プロフィールカラムからpinned TL を読んだ時だけ真
var highlightTrie : WordTrieTree? = null,
var serviceType : ServiceType = ServiceType.MASTODON
) {
fun account(src : JSONObject?) = parseItem(::TootAccount, this, src)
fun accountList(array : JSONArray?) = parseList(::TootAccount, this, array)
fun status(src : JSONObject?) = parseItem(::TootStatus, this, src)
fun statusList(array : JSONArray?) = parseList(::TootStatus, this, array)
fun notification(src : JSONObject?) = parseItem(::TootNotification, this, src)
fun notificationList(src : JSONArray?) = parseList(::TootNotification, this, src)
fun results(src : JSONObject?) = parseItem(::TootResults, this, src)
}