Add a UserStateModelSkeleton
[aquarium] / src / main / scala / gr / grnet / aquarium / charging / state / UserStateModel.scala
index a5c40fc..e563407 100644 (file)
@@ -36,7 +36,6 @@
 package gr.grnet.aquarium.charging.state
 
 import gr.grnet.aquarium.util.json.JsonSupport
-import gr.grnet.aquarium.computation.BillingMonthInfo
 import gr.grnet.aquarium.event.model.resource.ResourceEventModel
 import gr.grnet.aquarium.charging.wallet.WalletEntry
 import gr.grnet.aquarium.charging.reason.ChargingReason
@@ -60,7 +59,14 @@ trait UserStateModel extends JsonSupport {
 
   def totalCredits: Double
 
-  def theFullBillingMonth: Option[BillingMonthInfo]
+  /**
+   * True iff this user state represents a full billing month.
+   */
+  def isFullBillingMonth: Boolean
+
+  def billingYear: Int
+
+  def billingMonth: Int
 
   def chargingReason: ChargingReason
 
@@ -87,8 +93,9 @@ object UserStateModel {
   trait NamesT {
     final val userID = "userID"
     final val occurredMillis = "occurredMillis"
-    final val theFullBillingMonth_year = "theFullBillingMonth.year"
-    final val theFullBillingMonth_month = "theFullBillingMonth.month"
+    final val isFullBillingMonth = "isFullBillingMonth"
+    final val billingYear = "billingYear"
+    final val billingMonth = "billingMonth"
   }
 
   object Names extends NamesT