Put model class in separate files

dev_raz_wip
Laurent 7 years ago
parent 6398989dc4
commit 132b144f69
  1. 169
      app/src/main/java/net/pokeranalytics/android/Model.kt
  2. 6
      app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt
  3. 4
      app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt
  4. 15
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  5. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt
  6. 10
      app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt
  7. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/FilterComponent.kt
  8. 10
      app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt
  9. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/HandHistory.kt
  10. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt
  11. 8
      app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt
  12. 22
      app/src/main/java/net/pokeranalytics/android/model/realm/Report.kt
  13. 20
      app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt
  14. 10
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  15. 15
      app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt
  16. 15
      app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrameGroup.kt
  17. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt
  18. 18
      app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt
  19. 13
      app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt

@ -1,169 +0,0 @@
package net.pokeranalytics.android
import java.util.*
class Session(bankroll: Bankroll, timeFrame: TimeFrame) {
// A comment written by the user
var comment: String? = null
// The date of creation of the session
var creationDate: Date = Date()
var limit: Int? = null
var game: Game? = null
var numberOfTables: Int = 1
var tableSize: Int? = null
var bankroll: Bankroll = bankroll
var hands: List<HandHistory> = listOf()
var timeFrame: TimeFrame = timeFrame
var location: Location? = null
var result: Result = Result()
var opponents: List<Player> = listOf()
// @todo serie
// @todo cash game blind: 2/5/10, short deck ante, big bets in fixed limit
// Tournament
var entryFee: Double? = null
var numberOfPlayers: Int? = null
// @todo tournament type?
}
class TimeFrame {
var startDate: Date = Date()
var endDate: Date? = null
var breakDuration: Double = 0.0
var duration: Double = 0.0
var paused: Boolean = false
}
open class TimeFrameGroup(timeFrame: TimeFrame) {
var timeFrame: TimeFrame = timeFrame
var timeFrames: List<TimeFrame> = listOf()
}
class Serie(timeFrame: TimeFrame) : TimeFrameGroup(timeFrame) {
}
class Result {
var buyin: Double? = null
var cashout: Double? = null
var netResult: Double? = null
var net: Double? = null
var transactions: List<Transaction> = listOf()
// @todo tips?
var finalPosition: Int? = null
// var player: Player? = null
}
class Bankroll(name: String) {
var live: Boolean = true
var name: String = name
var transactions: List<Transaction> = listOf()
var currency: Currency? = null
// @todo rate management
}
class Currency {
var code: String? = null
var rate: Double? = null
}
class Transaction(value: Double, type: TransactionType) {
var value: Double = value
var date: Date = Date()
var comment: String? = null
var type: TransactionType = type
}
enum class TransactionKind {
WITHDRAWAL,
DEPOSIT
}
class TransactionType(name: String) {
var name: String = name
var additive: Boolean = false
var lock: Boolean = false
var kind: TransactionKind? = null
}
class Game(name: String) {
var name: String = name
var shortName: String? = null
}
class Location(name: String) {
var name: String = name
var longitude: Double? = null
var latitude: Double? = null
}
class TournamentType(name: String) {
var name: String = name
}
class Player {}
enum class ReportDisplay {
TABLE,
GRAPH,
MAP
}
class Report(name: String) {
var name: String = name
var display: ReportDisplay = ReportDisplay.TABLE
// @todo define the configuration options
var comparators: List<Int> = listOf()
var stats: List<Int> = listOf()
var filters: List<Filter> = listOf()
}
class Filter(name: String) {
var name: String = name
var usageCount: Int = 0
var components: List<FilterComponent> = listOf()
}
class FilterComponent {
// @todo how to store sub-filters?
}
class HandHistory {
// @todo
}
class CustomField {
// @todo
}

@ -1,6 +1,6 @@
package net.pokeranalytics.android.calculus
import net.pokeranalytics.android.Serie
import net.pokeranalytics.android.model.realm.TimeFrameGroup
class Calculator {
@ -62,7 +62,7 @@ class Calculator {
fun compute(group: SessionGroup, options: Options) : ComputedResults {
val sessions: List<SessionInterface> = group.sessionGroup
val series: Set<Serie> = setOf() // @todo get unique list of serie
val series: Set<TimeFrameGroup> = setOf() // @todo get unique list of serie
var results: ComputedResults = ComputedResults()
var sum: Double = 0.0
@ -86,7 +86,7 @@ class Calculator {
// Compute for each serie
series.forEach { serie ->
duration += serie.timeFrame.duration
duration += serie.duration
if (options.evolutionValues != Options.EvolutionValues.NONE) {
results.addEvolutionValue(duration, Stat.DURATION)

@ -1,6 +1,6 @@
package net.pokeranalytics.android.calculus
import net.pokeranalytics.android.Serie
import net.pokeranalytics.android.model.realm.TimeFrameGroup
// An interface to describe objects that can be summed
interface Summable {
@ -9,7 +9,7 @@ interface Summable {
// An interface describing some class that can be computed
interface SessionInterface : Summable {
var serie: Serie
var serie: TimeFrameGroup
}
/**

@ -0,0 +1,15 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmList
import io.realm.RealmObject
open class Bankroll(name: String = "") : RealmObject() {
var live: Boolean = true
var name: String = name
var transactions: RealmList<Transaction> = RealmList()
var currency: Currency? = null
// @todo rate management
}

@ -0,0 +1,11 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class Currency : RealmObject() {
var code: String? = null
var rate: Double? = null
}

@ -0,0 +1,10 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class CustomField : RealmObject() {
// @todo
var name: String = ""
}

@ -0,0 +1,11 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
//import net.pokeranalytics.android.FilterComponent
open class Filter : RealmObject() {
var name: String = ""
var usageCount: Int = 0
// var components: List<FilterComponent> = listOf()
}

@ -0,0 +1,10 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class Game : RealmObject() {
var name: String = ""
var shortName: String? = null
}

@ -0,0 +1,11 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
import java.util.*
open class HandHistory : RealmObject() {
// @todo
var date: Date = Date()
}

@ -0,0 +1,11 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class Location : RealmObject() {
var name: String = ""
var longitude: Double? = null
var latitude: Double? = null
}

@ -0,0 +1,8 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class Player : RealmObject() {
var name: String = ""
}

@ -0,0 +1,22 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmList
import io.realm.RealmObject
enum class ReportDisplay {
TABLE,
GRAPH,
MAP
}
open class Report : RealmObject() {
var name: String = ""
var display: Int = ReportDisplay.TABLE.ordinal
// @todo define the configuration options
// var comparators: List<Int> = listOf()
// var stats: List<Int> = listOf()
var filters: RealmList<Filter> = RealmList()
}

@ -0,0 +1,20 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmList
import io.realm.RealmObject
open class Result : RealmObject() {
var buyin: Double? = null
var cashout: Double? = null
var netResult: Double? = null
var net: Double? = null
var transactions: RealmList<Transaction> = RealmList()
// @todo tips?
var finalPosition: Int? = null
// var player: Player? = null
}

@ -1,5 +1,6 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.*
@ -20,23 +21,21 @@ open class Session : RealmObject() {
var numberOfTables: Int = 1
var tableSize: Int? = null
/*
var game: Game? = null
//var bankroll: Bankroll? = bankroll
var bankroll: Bankroll? = null
var hands: List<HandHistory> = listOf()
var hands: RealmList<HandHistory> = RealmList()
//var timeFrame: TimeFrame = timeFrame
var timeFrame: TimeFrame? = null
var location: Location? = null
var result: Result = Result()
var result: Result? = null
var opponents: List<Player> = listOf()
var opponents: RealmList<Player> = RealmList()
// @todo serie
@ -48,6 +47,5 @@ open class Session : RealmObject() {
var numberOfPlayers: Int? = null
// @todo tournament type?
*/
}

@ -0,0 +1,15 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
import java.util.*
open class TimeFrame : RealmObject() {
var startDate: Date = Date()
var endDate: Date? = null
var breakDuration: Double = 0.0
var duration: Double = 0.0
var paused: Boolean = false
}

@ -0,0 +1,15 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmList
import io.realm.RealmObject
open class TimeFrameGroup() : RealmObject() {
var timeFrame: TimeFrame? = null
var timeFrames: RealmList<Session> = RealmList()
var duration: Double = 0.0
}

@ -0,0 +1,14 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class TournamentType() : RealmObject() {
// constructor() : this() {
//
// }
var name: String = ""
}

@ -0,0 +1,18 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
import java.util.*
open class Transaction : RealmObject() {
var value: Double = 0.0
var date: Date = Date()
var comment: String? = null
var type: TransactionType? = null
}
enum class TransactionKind {
WITHDRAWAL,
DEPOSIT
}

@ -0,0 +1,13 @@
package net.pokeranalytics.android.model.realm
import io.realm.RealmObject
open class TransactionType : RealmObject() {
var name: String = ""
var additive: Boolean = false
var lock: Boolean = false
var kind: Int? = null
}
Loading…
Cancel
Save