diff options
author | Mathias <mathias@spray.cc> | 2012-10-12 14:15:12 +0200 |
---|---|---|
committer | Mathias <mathias@spray.cc> | 2012-10-12 14:15:12 +0200 |
commit | e5a7de26dfc8a4bb4410b7ee500624e30bf66650 (patch) | |
tree | 70d2133716f04df15b93350a36b8dd1aad28704c /src/main/scala/cc/spray/json/AdditionalFormats.scala | |
parent | 5354b7b2b1af66049328eed150e036a314878559 (diff) | |
download | spray-json-e5a7de26dfc8a4bb4410b7ee500624e30bf66650.tar.gz spray-json-e5a7de26dfc8a4bb4410b7ee500624e30bf66650.tar.bz2 spray-json-e5a7de26dfc8a4bb4410b7ee500624e30bf66650.zip |
Remove obsolete /cc/ package directories
Diffstat (limited to 'src/main/scala/cc/spray/json/AdditionalFormats.scala')
-rw-r--r-- | src/main/scala/cc/spray/json/AdditionalFormats.scala | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/src/main/scala/cc/spray/json/AdditionalFormats.scala b/src/main/scala/cc/spray/json/AdditionalFormats.scala deleted file mode 100644 index 20fdc74..0000000 --- a/src/main/scala/cc/spray/json/AdditionalFormats.scala +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Original implementation (C) 2009-2011 Debasish Ghosh - * Adapted and extended in 2011 by Mathias Doenitz - * - * 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 spray.json - -/** - * Provides additional JsonFormats and helpers - */ -trait AdditionalFormats { - - implicit object JsValueFormat extends JsonFormat[JsValue] { - def write(value: JsValue) = value - def read(value: JsValue) = value - } - - /** - * Constructs a JsonFormat from its two parts, JsonReader and JsonWriter. - */ - def jsonFormat[T](reader: JsonReader[T], writer: JsonWriter[T]) = new JsonFormat[T] { - def write(obj: T) = writer.write(obj) - def read(json: JsValue) = reader.read(json) - } - - /** - * Constructs a RootJsonFormat from its two parts, RootJsonReader and RootJsonWriter. - */ - def rootJsonFormat[T](reader: RootJsonReader[T], writer: RootJsonWriter[T]) = - rootFormat(jsonFormat(reader, writer)) - - /** - * Turns a JsonWriter into a JsonFormat that throws an UnsupportedOperationException for reads. - */ - def lift[T](writer :JsonWriter[T]) = new JsonFormat[T] { - def write(obj: T): JsValue = writer.write(obj) - def read(value: JsValue) = - throw new UnsupportedOperationException("JsonReader implementation missing") - } - - /** - * Turns a RootJsonWriter into a RootJsonFormat that throws an UnsupportedOperationException for reads. - */ - def lift[T](writer :RootJsonWriter[T]): RootJsonFormat[T] = - rootFormat(lift(writer :JsonWriter[T])) - - /** - * Turns a JsonReader into a JsonFormat that throws an UnsupportedOperationException for writes. - */ - def lift[T <: AnyRef](reader :JsonReader[T]) = new JsonFormat[T] { - def write(obj: T): JsValue = - throw new UnsupportedOperationException("No JsonWriter[" + obj.getClass + "] available") - def read(value: JsValue) = reader.read(value) - } - - /** - * Turns a RootJsonReader into a RootJsonFormat that throws an UnsupportedOperationException for writes. - */ - def lift[T <: AnyRef](reader :RootJsonReader[T]): RootJsonFormat[T] = - rootFormat(lift(reader :JsonReader[T])) - - /** - * Lazy wrapper around serialization. Useful when you want to serialize (mutually) recursive structures. - */ - def lazyFormat[T](format: => JsonFormat[T]) = new JsonFormat[T] { - lazy val delegate = format; - def write(x: T) = delegate.write(x); - def read(value: JsValue) = delegate.read(value); - } - - /** - * Explicitly turns a JsonFormat into a RootJsonFormat. - */ - def rootFormat[T](format: JsonFormat[T]) = new RootJsonFormat[T] { - def write(obj: T) = format.write(obj) - def read(json: JsValue) = format.read(json) - } - - /** - * Wraps an existing JsonReader with Exception protection. - */ - def safeReader[A :JsonReader] = new JsonReader[Either[Exception, A]] { - def read(json: JsValue) = { - try { - Right(json.convertTo) - } catch { - case e: Exception => Left(e) - } - } - } - -}
\ No newline at end of file |