Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.84 KB | None | 0 0
  1. package org.krisdrum.spray.server
  2.  
  3. import org.json4s.ShortTypeHints
  4. import org.json4s.native.Serialization
  5. import org.json4s.native.Serialization._
  6.  
  7.  
  8. trait Silicon
  9.  
  10. case class SingleCrystalSilicon (grainSize: Int) extends Silicon
  11.  
  12. case class MultiCrystalSilicon(name: String, grainSize: Int) extends Silicon
  13.  
  14. object Silicon {
  15.   val silicons = List[Silicon](
  16.     MultiCrystalSilicon(name = "MulticrystalLine", grainSize = 10),
  17.     MultiCrystalSilicon(name = "Policrystalline", grainSize = 1),
  18.     SingleCrystalSilicon(1000)
  19.   )
  20.  
  21.   private implicit val formats = Serialization.formats {
  22.     ShortTypeHints(List(
  23.       classOf[MultiCrystalSilicon],
  24.       classOf[SingleCrystalSilicon])
  25.     )
  26.   }
  27.  
  28.   def toJson(silicons: List[Silicon]): String = writePretty(silicons)
  29.  
  30.   def toJson(silicon: Silicon): String = writePretty(silicon  )
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement