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 3.1.1, with support for Mongo 3.x
"com.github.salat" %% "salat" % "1.11.0"
Available for Scala 2.11. Based on Casbah 3.1.1, with support for Mongo 3.x
"com.github.salat" %% "salat" % "1.11.0-SNAPSHOT"
Starting with version 1.10.0, the package for Salat has changed.
Version 1.10.x and Later
import salat._
Version 1.9.x and Earlier
import com.novus.salat._
Salat has been hosted exclusively by Sonatype since version 0.0.8. Please remove all references to repo.novus.com
from your build files.
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 3.1.1.
"org.github.salat" %% "salat" % "1.11.0"
Based on Casbah 2.8.2.
"org.github.salat" %% "salat" % "1.10.0"
Based on Casbah 2.7.1.
"com.novus" %% "salat" % "1.9.10"
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 the play-salat plugin at cloudinsights/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