File.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace Transmission\Model;
  3. /**
  4. * @author Ramon Kleiss <ramon@cubilon.nl>
  5. */
  6. class File extends AbstractModel
  7. {
  8. /**
  9. * @var string
  10. */
  11. protected $name;
  12. /**
  13. * @var integer
  14. */
  15. protected $size;
  16. /**
  17. * @var integer
  18. */
  19. protected $completed;
  20. /**
  21. * @param string $name
  22. */
  23. public function setName($name)
  24. {
  25. $this->name = (string) $name;
  26. }
  27. /**
  28. * @return string
  29. */
  30. public function getName()
  31. {
  32. return $this->name;
  33. }
  34. /**
  35. * @param integer $size
  36. */
  37. public function setSize($size)
  38. {
  39. $this->size = (integer) $size;
  40. }
  41. /**
  42. * @return integer
  43. */
  44. public function getSize()
  45. {
  46. return $this->size;
  47. }
  48. /**
  49. * @param integer $size
  50. */
  51. public function setCompleted($completed)
  52. {
  53. $this->completed = (integer) $completed;
  54. }
  55. /**
  56. * @return integer
  57. */
  58. public function getCompleted()
  59. {
  60. return $this->completed;
  61. }
  62. /**
  63. * @return boolean
  64. */
  65. public function isDone()
  66. {
  67. return $this->getSize() == $this->getCompleted();
  68. }
  69. /**
  70. * {@inheritDoc}
  71. */
  72. public static function getMapping()
  73. {
  74. return array(
  75. 'name' => 'name',
  76. 'length' => 'size',
  77. 'bytesCompleted' => 'completed'
  78. );
  79. }
  80. }