Advertisement
Guest User

Untitled

a guest
May 15th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.29 KB | None | 0 0
  1. package b2c.module
  2.  
  3. import reflect.BeanProperty
  4. import annotation.target.beanGetter
  5.  
  6. /**
  7.  * User: i-flower
  8.  * Date: 2010-3-16
  9.  * Time: 13:07:51
  10.  * Description:
  11.  */
  12.  
  13.  
  14. trait Model
  15.  
  16. trait Resizable[T] {
  17.   protected var items: List[T] = Nil
  18.  
  19.   def add(p: T): this.type = {items = p :: items; this}
  20.  
  21.   def remove(p: T): this.type = {items = items filterNot (_ == p); this}
  22.  
  23. }
  24.  
  25.  
  26. class Session(user: User) {
  27. }
  28.  
  29. //  Order
  30. object Cart {}
  31.  
  32. class Cart(val user: Customer) extends Resizable[Product]
  33.  
  34.  
  35. /**
  36.  *      User
  37.  *      /  \
  38.  *  Dealer  Customer
  39.  */
  40. abstract class User(name: String, password : String) {
  41.   def getName = name
  42.   def getPassword = password
  43. }
  44.  
  45. abstract class Manager(name: String, password:String) extends User(name,password)
  46.  
  47. //administrator
  48. case class Administrator(name: String, password:String) extends Manager(name,password)
  49.  
  50. // Dealer
  51. case class Dealer(name: String, password:String) extends Manager(name,password)
  52.  
  53. // Customer
  54. case class Customer(name: String, password:String) extends User(name,password)
  55.  
  56.  
  57. // Order
  58. class Order(dealer: Dealer) extends Model with Resizable[Product]
  59.  
  60. //  Product
  61. class Product(id: Integer,name:String ,gid: Integer) extends Model
  62.  
  63. //  Product Group
  64. class ProductGroup(id : Integer,name: String) extends Model
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement