popcorn :: JsonRepository :: defaultinit
# A Repository for JsonObjects.
#
# As for document oriented databases, Repository can be used to store and retrieve
# Json object.
# Serialization from/to Json is used to translate from/to nit instances.
#
# See `MongoRepository` for a concrete implementation example.
abstract class JsonRepository[E: Serializable]
super Repository[E]
redef fun serialize(item) do
if item == null then return null
var stream = new StringWriter
var serializer = new RepoSerializer(stream)
serializer.serialize item
stream.close
return stream.to_s
end
redef fun deserialize(string) do
if string == null then return null
var deserializer = new JsonDeserializer(string)
return deserializer.deserialize.as(E)
end
end
lib/popcorn/pop_repos.nit:220,1--244,3