1 package jp.ymir.taskReporter.core
2 import java.text.SimpleDateFormat
3 import java.util.Calendar
4 import java.util.GregorianCalendar
5 import javax.swing.table.AbstractTableModel
6 import scala.collection.immutable._
8 class Report(private val _date: Calendar) extends AbstractTableModel {
9 private var _tasks : Seq[Task] = Vector()
11 def this() = this(new GregorianCalendar())
13 def date : Calendar = _date
14 def size : Int = _tasks.size
17 require(task.date == _date)
18 _tasks = _tasks :+ task
21 def dateString : String = dateString(_date)
22 def dateString(date: Calendar) : String = {
23 val fmt = new SimpleDateFormat("yyyy-MM-dd")
24 fmt.format(date.getTime)
27 /* Method definitions for AbstractTableModel
29 def getColumnCount = 6
30 def getRowCount = _tasks.size
32 override def getColumnName(column: Int) : String = {
43 def getValueAt(row: Int, column: Int) : Object = {
44 val task = _tasks(row)
46 case 0 => task.ticketID : Integer
48 case 2 => task.tentativeDeadline.map(dateString).getOrElse("")
49 case 3 => task.deadline .map(dateString).getOrElse("")
51 case 5 => task.supplement