2018-01-04 19:52:25 +01:00
|
|
|
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
|
2018-01-21 17:47:13 +01:00
|
|
|
import jp.juggler.subwaytooter.util.LinkHelper
|
2018-01-04 19:52:25 +01:00
|
|
|
|
|
|
|
class TootParser(
|
|
|
|
val context : Context,
|
2018-01-21 17:47:13 +01:00
|
|
|
val linkHelper : LinkHelper,
|
2018-01-04 19:52:25 +01:00
|
|
|
var pinned : Boolean = false, // プロフィールカラムからpinned TL を読んだ時だけ真
|
2018-01-21 17:47:13 +01:00
|
|
|
var highlightTrie : WordTrieTree? = null,
|
|
|
|
var serviceType : ServiceType = ServiceType.MASTODON
|
2018-01-04 19:52:25 +01:00
|
|
|
) {
|
|
|
|
|
2018-01-21 17:47:13 +01:00
|
|
|
fun account(src : JSONObject?) = parseItem(::TootAccount, this, src)
|
2018-05-08 10:25:02 +02:00
|
|
|
fun accountList(array : JSONArray?) = TootAccountRef.wrapList(this,parseList(::TootAccount, this, array))
|
2018-01-04 19:52:25 +01:00
|
|
|
|
2018-01-21 17:47:13 +01:00
|
|
|
fun status(src : JSONObject?) = parseItem(::TootStatus, this, src)
|
|
|
|
fun statusList(array : JSONArray?) = parseList(::TootStatus, this, array)
|
2018-01-04 19:52:25 +01:00
|
|
|
|
2018-01-21 17:47:13 +01:00
|
|
|
fun notification(src : JSONObject?) = parseItem(::TootNotification, this, src)
|
|
|
|
fun notificationList(src : JSONArray?) = parseList(::TootNotification, this, src)
|
2018-01-04 19:52:25 +01:00
|
|
|
|
2018-01-21 17:47:13 +01:00
|
|
|
fun results(src : JSONObject?) = parseItem(::TootResults, this, src)
|
2018-03-25 15:27:58 +02:00
|
|
|
fun instance(src : JSONObject?) = parseItem(::TootInstance, this, src)
|
2018-05-30 07:18:45 +02:00
|
|
|
fun trendTagList(array : JSONArray?)= parseList(::TootTrendTag, array)
|
|
|
|
|
|
|
|
fun resultsV2(src : JSONObject) = parseItem(::TootResultsV2, this, src)
|
2018-01-04 19:52:25 +01:00
|
|
|
|
|
|
|
}
|