Skip to content

Instantly share code, notes, and snippets.

@djspiewak
Created October 17, 2012 22:25
Show Gist options
  • Save djspiewak/3908724 to your computer and use it in GitHub Desktop.
Save djspiewak/3908724 to your computer and use it in GitHub Desktop.
trait StorageComponent {
type User <: UserLike
def storeUser(user: User)
def retrieveUser(id: Int): Option[User]
trait UserLike {
def id: Int
def hash: Vector[Byte]
}
}
trait MySQLStorageComponent extends StorageComponent {
override def storeUser(user: User) { ... }
override def retrieveUser(id: Int): Option[User] = ...
case class User(id: Int, hash: Vector[Byte]) extends UserLike
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment