Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package b2c.module
- import reflect.BeanProperty
- import annotation.target.beanGetter
- /**
- * User: i-flower
- * Date: 2010-3-16
- * Time: 13:07:51
- * Description:
- */
- trait Model
- trait Resizable[T] {
- protected var items: List[T] = Nil
- def add(p: T): this.type = {items = p :: items; this}
- def remove(p: T): this.type = {items = items filterNot (_ == p); this}
- }
- class Session(user: User) {
- }
- // Order
- object Cart {}
- class Cart(val user: Customer) extends Resizable[Product]
- /**
- * User
- * / \
- * Dealer Customer
- */
- abstract class User(name: String, password : String) {
- def getName = name
- def getPassword = password
- }
- abstract class Manager(name: String, password:String) extends User(name,password)
- //administrator
- case class Administrator(name: String, password:String) extends Manager(name,password)
- // Dealer
- case class Dealer(name: String, password:String) extends Manager(name,password)
- // Customer
- case class Customer(name: String, password:String) extends User(name,password)
- // Order
- class Order(dealer: Dealer) extends Model with Resizable[Product]
- // Product
- class Product(id: Integer,name:String ,gid: Integer) extends Model
- // Product Group
- class ProductGroup(id : Integer,name: String) extends Model
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement