Salat is a simple serialization library for case classes.
Salat currently supports bidirectional serialization for:
Simplicity. Flexibility. Consistency.
Your model there and back again should just work.
Salat publishes snapshots and releases to OSS Sontatype.
Available for Scala 2.10 and 2.11. Based on Casbah 2.7.1.
"com.novus" %% "salat" % "1.9.9"
Available for Scala 2.10 and 2.11. Based on Casbah 2.7.1.
"com.novus" %% "salat" % "2.0.0-SNAPSHOT"
Please remove all references to repo.novus.com
from your build files. After 0.0.8, Salat will be hosted exclusively by Sonatype.
If you are not using sbt 0.11.2+, explicitly add OSS Sonatype to your resolvers:
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
Based on Casbah 2.7.0.
"com.novus" %% "salat" % "1.9.7"
Based on Casbah 2.6.4.
"com.novus" %% "salat" % "1.9.5"
Based on Casbah 2.1.5-1.
"com.novus" %% "salat" % "0.0.8"
Are you using Play framework? Make sure to see our Play support wiki page, and check out Leon Radley's plugin at leon/play-salat.
See the wiki and the mailing list.
See Supported Types.
We don't have the resources to support everything. Here are some things Salat doesn't do:
- Java compatibility
- non-case classes
- type aliases
- nested inner classes
- varags
- arrays
- multiple constructors
- tuples
Option
containing a collection (see collection support for workarounds)- relationship management like a traditional ORM
Salat uses the Product
trait implemented by case classes with the hi-fi type information found in pickled Scala signatures.
Details are thin on the ground, but here's where we got started:
- the source code for
scala.tools.scalap.scalax.rules.scalasig.ScalaSigParser
- SID # 10 (draft) - Storage of pickled Scala signatures in class files