Skip to content
This repository

Salat is a simple serialization library for case classes.

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.md

Salat

Salat is a simple serialization library for case classes.

Salat currently supports bidirectional serialization for:

Goals

Simplicity. Flexibility. Consistency.

Your model there and back again should just work.

Get Salat

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.

Stable Release

Available for Scala 2.9.1 and 2.9.2. Based on Casbah 2.4.1.

"com.novus" %% "salat" % "1.9.0"

Release Notes

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"

Release Notes

Snapshot

Build Status Available for Scala 2.9.1 and 2.9.2.

"com.novus" %% "salat" % "1.9.1-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"

Release Notes (In Progress)

Play 2 plugin

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.

Documentation

See the wiki and the mailing list.

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
  • varags
  • arrays
  • multiple constructors
  • tuples
  • Option containing 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:

Something went wrong with that request. Please try again.