Skip to content
a10zn8 edited this page Jan 12, 2016 · 5 revisions

Collection support

Not supported

  • collections parameterized to other collections, for instance Seq[Seq[Foo]]
  • maps whose key is not a String
  • maps whose value is an Option or a collection
  • Arrays

Salat <= 0.0.7

Salat 0.0.7 and below support the following collections:

  • Map
  • List
  • Seq

Salat 0.0.8

Salat 0.0.8 supports the following collection types:

  • Map
    • scala.collection.Map[String, _]
    • scala.collection.mutable.Map[String, _]
    • scala.collection.immutable.Map[String, _]
  • List
  • Seq
    • scala.collection.Seq
    • scala.collection.mutable.Seq
    • scala.collection.immutable.Seq
  • Set
    • scala.collection.Set
    • scala.collection.mutable.Set
    • scala.collection.immutable.Set
  • Buffer
    • scala.collection.mutable.Buffer
    • scala.collection.mutable.ArrayBuffer
  • Vector
  • IndexedSeq
    • scala.collection.IndexedSeq
    • scala.collection.mutable.IndexedSeq
    • scala.collection.immutable.IndexedSeq
  • Linked lists
    • scala.collection.mutable.LinkedList
    • scala.collection.mutable.DoubleLinkedList

What about arrays?

Not yet. It's in an experimental branch while I try to consider:

  • deserialization must preserve original order
  • what happens to null or None entries during serialization?
  • multi-dimensional arrays
  • arrays of Option[_] or collections - what class manifest to use? How is this represented in the pickled Scala signature?

What are some other possible candidates for Salat collection support?

  • scala.collection.immutable
    • HashMap
    • HashSet
    • LinearSeq
    • Queue
    • RedBlack
    • SortedMap
    • SortedSet
    • TreeMap
  • scala.collection.mutable
    • HashMap
    • HashSet
    • History
    • LinearSeq
    • MultiMap
    • PriorityQueue
    • Queue
    • RevertableHistory
    • Stack
    • UnrolledBuffer
    • WeakHashMap
    • WrappedArrau
Clone this wiki locally