|
|
|
|
@ -1,6 +1,7 @@ |
|
|
|
|
package net.pokeranalytics.android.model.realm |
|
|
|
|
|
|
|
|
|
import io.realm.Realm |
|
|
|
|
import io.realm.RealmList |
|
|
|
|
import io.realm.RealmObject |
|
|
|
|
import io.realm.annotations.Ignore |
|
|
|
|
import io.realm.annotations.PrimaryKey |
|
|
|
|
@ -19,65 +20,74 @@ import java.util.* |
|
|
|
|
|
|
|
|
|
open class CustomField : RealmObject(), Manageable, StaticRowRepresentableDataSource, RowRepresentable { |
|
|
|
|
|
|
|
|
|
enum class Type(var resId: Int) { |
|
|
|
|
LIST(R.string.items_list), |
|
|
|
|
NUMBER(R.string.number), |
|
|
|
|
AMOUNT(R.string.amount) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
companion object { |
|
|
|
|
val rowRepresentation: List<RowRepresentable> by lazy { |
|
|
|
|
val rows = ArrayList<RowRepresentable>() |
|
|
|
|
rows.add(SimpleRow.NAME) |
|
|
|
|
rows.addAll(CustomFieldRow.values()) |
|
|
|
|
rows |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
val rowRepresentation: List<RowRepresentable> by lazy { |
|
|
|
|
val rows = ArrayList<RowRepresentable>() |
|
|
|
|
rows.add(SimpleRow.NAME) |
|
|
|
|
rows.addAll(CustomFieldRow.values()) |
|
|
|
|
rows |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
@PrimaryKey |
|
|
|
|
override var id = UUID.randomUUID().toString() |
|
|
|
|
|
|
|
|
|
// The name of the currency field |
|
|
|
|
var name: String = "" |
|
|
|
|
|
|
|
|
|
@PrimaryKey |
|
|
|
|
override var id = UUID.randomUUID().toString() |
|
|
|
|
// Migration |
|
|
|
|
var type: Int = Type.LIST.ordinal |
|
|
|
|
var duplicateValue: Boolean = false |
|
|
|
|
var entries: RealmList<String> = RealmList() |
|
|
|
|
|
|
|
|
|
// The name of the currency field |
|
|
|
|
var name: String = "" |
|
|
|
|
|
|
|
|
|
// @todo |
|
|
|
|
// @todo |
|
|
|
|
|
|
|
|
|
override fun getDisplayName(): String { |
|
|
|
|
return this.name |
|
|
|
|
} |
|
|
|
|
override fun getDisplayName(): String { |
|
|
|
|
return this.name |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Ignore |
|
|
|
|
override val viewType: Int = RowViewType.TITLE_VALUE_ARROW.ordinal |
|
|
|
|
@Ignore |
|
|
|
|
override val viewType: Int = RowViewType.TITLE_VALUE_ARROW.ordinal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun adapterRows(): List<RowRepresentable>? { |
|
|
|
|
return rowRepresentation |
|
|
|
|
} |
|
|
|
|
override fun adapterRows(): List<RowRepresentable>? { |
|
|
|
|
return rowRepresentation |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun updateValue(value: Any?, row: RowRepresentable) { |
|
|
|
|
when (row) { |
|
|
|
|
SimpleRow.NAME -> this.name = value as String? ?: "" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
override fun updateValue(value: Any?, row: RowRepresentable) { |
|
|
|
|
when (row) { |
|
|
|
|
SimpleRow.NAME -> this.name = value as String? ?: "" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun isValidForSave(): Boolean { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
override fun isValidForSave(): Boolean { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun alreadyExists(realm: Realm): Boolean { |
|
|
|
|
return realm.where<CustomField>().equalTo("id", id).findFirst() != null |
|
|
|
|
} |
|
|
|
|
override fun alreadyExists(realm: Realm): Boolean { |
|
|
|
|
return realm.where<CustomField>().equalTo("id", id).findFirst() != null |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun getFailedSaveMessage(status: SaveValidityStatus): Int { |
|
|
|
|
//TODO: |
|
|
|
|
return R.string.relationship_error |
|
|
|
|
} |
|
|
|
|
override fun getFailedSaveMessage(status: SaveValidityStatus): Int { |
|
|
|
|
//TODO: |
|
|
|
|
return R.string.relationship_error |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun isValidForDelete(realm: Realm): Boolean { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
override fun isValidForDelete(realm: Realm): Boolean { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun getFailedDeleteMessage(status: DeleteValidityStatus): Int { |
|
|
|
|
//TODO: |
|
|
|
|
return R.string.relationship_error |
|
|
|
|
} |
|
|
|
|
override fun getFailedDeleteMessage(status: DeleteValidityStatus): Int { |
|
|
|
|
//TODO: |
|
|
|
|
return R.string.relationship_error |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |