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.
Please remove all references to
repo.novus.com from your build files. After 0.0.8, Salat will be hosted exclusively by Sonatype.
Available for Scala 2.9.1 and 2.9.2. Based on Casbah 2.4.1.
"com.novus" %% "salat" % "1.9.1"
Available for Scala 2.8.1, 2.9.1 and 2.9.2. Based on Casbah 2.1.5-1.
"com.novus" %% "salat" % "0.0.8"
"com.novus" %% "salat" % "1.9.2-SNAPSHOT"
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"
Play 2 plugin
What does Salat support?
See Supported Types.
What doesn't Salat support?
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
- multiple constructors
Optioncontaining a collection (see collection support for workarounds)
- relationship management like a traditional ORM
How does Salat work?
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
- SID # 10 (draft) - Storage of pickled Scala signatures in class files