From 132b144f69637c44b527ace11935b5c7351febdb Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 11 Feb 2019 20:07:22 +0100 Subject: [PATCH] Put model class in separate files --- .../java/net/pokeranalytics/android/Model.kt | 169 ------------------ .../android/calculus/Calculator.kt | 6 +- .../android/calculus/Computable.kt | 4 +- .../android/model/realm/Bankroll.kt | 15 ++ .../android/model/realm/Currency.kt | 11 ++ .../android/model/realm/CustomField.kt | 10 ++ .../android/model/realm/FilterComponent.kt | 11 ++ .../android/model/realm/Game.kt | 10 ++ .../android/model/realm/HandHistory.kt | 11 ++ .../android/model/realm/Location.kt | 11 ++ .../android/model/realm/Player.kt | 8 + .../android/model/realm/Report.kt | 22 +++ .../android/model/realm/Result.kt | 20 +++ .../android/model/realm/Session.kt | 10 +- .../android/model/realm/TimeFrame.kt | 15 ++ .../android/model/realm/TimeFrameGroup.kt | 15 ++ .../android/model/realm/TournamentType.kt | 14 ++ .../android/model/realm/Transaction.kt | 18 ++ .../android/model/realm/TransactionType.kt | 13 ++ 19 files changed, 213 insertions(+), 180 deletions(-) delete mode 100644 app/src/main/java/net/pokeranalytics/android/Model.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/FilterComponent.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/HandHistory.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Report.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrameGroup.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt diff --git a/app/src/main/java/net/pokeranalytics/android/Model.kt b/app/src/main/java/net/pokeranalytics/android/Model.kt deleted file mode 100644 index 989fb127..00000000 --- a/app/src/main/java/net/pokeranalytics/android/Model.kt +++ /dev/null @@ -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 = listOf() - - var timeFrame: TimeFrame = timeFrame - - var location: Location? = null - - var result: Result = Result() - - var opponents: List = 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 = 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 = 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 = 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 = listOf() - var stats: List = listOf() - var filters: List = listOf() - -} - -class Filter(name: String) { - var name: String = name - var usageCount: Int = 0 - var components: List = listOf() -} - -class FilterComponent { - // @todo how to store sub-filters? -} - -class HandHistory { - // @todo -} - -class CustomField { - // @todo -} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt index b585d885..3cb8d1ff 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt @@ -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 = group.sessionGroup - val series: Set = setOf() // @todo get unique list of serie + val series: Set = 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) diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt index 448cb7f0..fda109f8 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt @@ -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 } /** diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt new file mode 100644 index 00000000..b40bbf78 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt @@ -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 = RealmList() + var currency: Currency? = null + + // @todo rate management +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt new file mode 100644 index 00000000..86dd44a8 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Currency.kt @@ -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 + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt new file mode 100644 index 00000000..a8fccb86 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt @@ -0,0 +1,10 @@ +package net.pokeranalytics.android.model.realm + +import io.realm.RealmObject + + +open class CustomField : RealmObject() { + // @todo + var name: String = "" + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/FilterComponent.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterComponent.kt new file mode 100644 index 00000000..a85dc5a5 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/FilterComponent.kt @@ -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 = listOf() +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt new file mode 100644 index 00000000..c480ca76 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt @@ -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 + +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/HandHistory.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/HandHistory.kt new file mode 100644 index 00000000..70d8a676 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/HandHistory.kt @@ -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() + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt new file mode 100644 index 00000000..cdfc2c7f --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt @@ -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 + +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt new file mode 100644 index 00000000..f5b37535 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Player.kt @@ -0,0 +1,8 @@ +package net.pokeranalytics.android.model.realm + +import io.realm.RealmObject + +open class Player : RealmObject() { + var name: String = "" + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Report.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Report.kt new file mode 100644 index 00000000..6ed16ff3 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Report.kt @@ -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 = listOf() +// var stats: List = listOf() + var filters: RealmList = RealmList() + +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt new file mode 100644 index 00000000..75726fa1 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt @@ -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 = RealmList() + + // @todo tips? + + var finalPosition: Int? = null + +// var player: Player? = null +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 2f6b4a6b..321b5fcb 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -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 = listOf() + var hands: RealmList = RealmList() //var timeFrame: TimeFrame = timeFrame var timeFrame: TimeFrame? = null var location: Location? = null - var result: Result = Result() + var result: Result? = null - var opponents: List = listOf() + var opponents: RealmList = RealmList() // @todo serie @@ -48,6 +47,5 @@ open class Session : RealmObject() { var numberOfPlayers: Int? = null // @todo tournament type? - */ } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt new file mode 100644 index 00000000..71e3a540 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrame.kt @@ -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 + +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrameGroup.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrameGroup.kt new file mode 100644 index 00000000..3affa464 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TimeFrameGroup.kt @@ -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 = RealmList() + + var duration: Double = 0.0 + +} + diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt new file mode 100644 index 00000000..30731aa5 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TournamentType.kt @@ -0,0 +1,14 @@ +package net.pokeranalytics.android.model.realm + +import io.realm.RealmObject + + +open class TournamentType() : RealmObject() { + +// constructor() : this() { +// +// } + + var name: String = "" + +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt new file mode 100644 index 00000000..de19c050 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Transaction.kt @@ -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 +} diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt new file mode 100644 index 00000000..77259b40 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt @@ -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 + +} \ No newline at end of file