|
Lift Framework example source code file (Serialization.scala)
The Lift Framework Serialization.scala source code/* * Copyright 2009-2010 WorldWide Conferencing, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.liftweb package json import scala.reflect.Manifest /** Functions to serialize and deserialize a case class. * Custom serializer can be inserted if a class is not a case class. * <p> * Example:<pre> * val hints = new ShortTypeHints( ... ) * implicit val formats = Serialization.formats(hints) * </pre> * * @see net.liftweb.json.TypeHints */ object Serialization { import java.io.{Reader, StringWriter, Writer} /** Serialize to String. */ def write[A <: AnyRef](a: A)(implicit formats: Formats): String = (write(a, new StringWriter)(formats)).toString /** Serialize to Writer. */ def write[A <: AnyRef, W <: Writer](a: A, out: W)(implicit formats: Formats): W = Printer.compact(render(Extraction.decompose(a)(formats)), out) /** Deserialize from a String. */ def read[A](json: String)(implicit formats: Formats, mf: Manifest[A]): A = parse(json).extract(formats, mf) /** Deserialize from a Reader. */ def read[A](in: Reader)(implicit formats: Formats, mf: Manifest[A]): A = JsonParser.parse(in).extract(formats, mf) /** Create Serialization formats with given type hints. * <p> * Example:<pre> * val hints = new ShortTypeHints( ... ) * implicit val formats = Serialization.formats(hints) * </pre> */ def formats(hints: TypeHints) = new Formats { val dateFormat = DefaultFormats.lossless.dateFormat override val typeHints = hints } } Other Lift Framework examples (source code examples)Here is a short list of links related to this Lift Framework Serialization.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.