summaryrefslogtreecommitdiff
path: root/src/main/scala/cc/spray/json/JsValue.scala
diff options
context:
space:
mode:
authorMathias <mathias@spray.cc>2012-10-12 14:15:12 +0200
committerMathias <mathias@spray.cc>2012-10-12 14:15:12 +0200
commite5a7de26dfc8a4bb4410b7ee500624e30bf66650 (patch)
tree70d2133716f04df15b93350a36b8dd1aad28704c /src/main/scala/cc/spray/json/JsValue.scala
parent5354b7b2b1af66049328eed150e036a314878559 (diff)
downloadspray-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/JsValue.scala')
-rw-r--r--src/main/scala/cc/spray/json/JsValue.scala114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/main/scala/cc/spray/json/JsValue.scala b/src/main/scala/cc/spray/json/JsValue.scala
deleted file mode 100644
index 8b25c98..0000000
--- a/src/main/scala/cc/spray/json/JsValue.scala
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2009-2011 Mathias Doenitz
- * Inspired by a similar implementation by Nathan Hamblen
- * (https://github.com/n8han/Databinder-Dispatch)
- *
- * 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
-
-import collection.immutable.ListMap
-
-
-/**
- * The general type of a JSON AST node.
- */
-sealed abstract class JsValue {
- override def toString = compactPrint
- def toString(printer: (JsValue => String)) = printer(this)
- def compactPrint = CompactPrinter(this)
- def prettyPrint = PrettyPrinter(this)
- def convertTo[T :JsonReader]: T = jsonReader[T].read(this)
-
- /**
- * Returns `this` if this JsValue is a JsObject, otherwise throws a DeserializationException with the given error msg.
- */
- def asJsObject(errorMsg: String = "JSON object expected"): JsObject = deserializationError(errorMsg)
-
- /**
- * Returns `this` if this JsValue is a JsObject, otherwise throws a DeserializationException.
- */
- def asJsObject: JsObject = asJsObject()
-
- @deprecated("Superceded by 'convertTo'", "1.1.0")
- def fromJson[T :JsonReader]: T = convertTo
-}
-
-/**
- * A JSON object.
- */
-case class JsObject(fields: Map[String, JsValue]) extends JsValue {
- override def asJsObject(errorMsg: String) = this
- def getFields(fieldNames: String*): Seq[JsValue] = fieldNames.flatMap(fields.get)
-}
-object JsObject {
- // we use a ListMap in order to preserve the field order
- def apply(members: JsField*) = new JsObject(ListMap(members: _*))
- def apply(members: List[JsField]) = new JsObject(ListMap(members: _*))
-}
-
-/**
- * A JSON array.
- */
-case class JsArray(elements: List[JsValue]) extends JsValue
-object JsArray {
- def apply(elements: JsValue*) = new JsArray(elements.toList)
-}
-
-/**
- * A JSON string.
- */
-case class JsString(value: String) extends JsValue
-
-object JsString {
- def apply(value: Symbol) = new JsString(value.name)
-}
-
-/**
- * A JSON number.
- */
-case class JsNumber(value: BigDecimal) extends JsValue
-object JsNumber {
- def apply(n: Int) = new JsNumber(BigDecimal(n))
- def apply(n: Long) = new JsNumber(BigDecimal(n))
- def apply(n: Double) = n match {
- case n if n.isNaN => JsNull
- case n if n.isInfinity => JsNull
- case _ => new JsNumber(BigDecimal(n))
- }
- def apply(n: BigInt) = new JsNumber(BigDecimal(n))
- def apply(n: String) = new JsNumber(BigDecimal(n))
-}
-
-/**
- * JSON Booleans.
- */
-sealed abstract class JsBoolean extends JsValue {
- def value: Boolean
-}
-object JsBoolean {
- def apply(x: Boolean): JsBoolean = if (x) JsTrue else JsFalse
- def unapply(x: JsBoolean): Option[Boolean] = Some(x.value)
-}
-case object JsTrue extends JsBoolean {
- def value = true
-}
-case object JsFalse extends JsBoolean {
- def value = false
-}
-
-/**
- * The representation for JSON null.
- */
-case object JsNull extends JsValue