package net.lacolaco.smileessence.data import android.content.ContentValues import net.lacolaco.smileessence.Application import java.util.regex.Pattern @Deprecated("Remove when ManagePagesActivity is done") class ExtractionWord private constructor(val patternString: String) { val pattern: Pattern by lazy { Pattern.compile(patternString) } fun remove() { if (Application.instance.db.delete("extraction_words", "pattern_string = ?", arrayOf(patternString)) == 0) throw IllegalStateException("Could not remove patternString=$patternString from extraction_words") cache.remove(this) } companion object { private lateinit var cache: MutableSet fun cached(): Collection { return cache } fun load() { cache = HashSet() Application.instance.db.query("extraction_words", null, null, null, null, null, null).use { cursor -> while (cursor != null && cursor.moveToNext()) cache.add(ExtractionWord(cursor.getString(cursor.getColumnIndexOrThrow("pattern_string")))) } } fun add(patternString: String): ExtractionWord { val extractionWord = ExtractionWord(patternString) val values = ContentValues() values.put("pattern_string", extractionWord.patternString) Application.instance.db.insertOrThrow("extraction_words", null, values) cache.add(extractionWord) return extractionWord } } }