Packages

  • package root
    Definition Classes
    root
  • package little
    Definition Classes
    root
  • package json
    Definition Classes
    little
  • package rpc

    Defines API for JSON-RPC 2.0.

    Defines API for JSON-RPC 2.0.

    import javax.json.JsonValue
    
    import little.json.{ Json, JsonAdapter }
    import little.json.Implicits._
    import little.json.rpc._
    
    case class Params(values: Int*)
    
    // Define adapter for converting params to and from JSON
    implicit object ParamsAdapter extends JsonAdapter[Params] {
      def reading(json: JsonValue): Params =
        Params(json.as[Seq[Int]] : _*)
    
      def writing(params: Params): JsonValue =
        Json.toJson(params.values)
    }
    
    // Create request with builder
    val request = JsonRpcRequest.builder()
      .version("2.0")
      .id("590d24ae-500a-486c-8d73-8035e78529bd")
      .method("sum")
      .params(Params(1, 2, 3))
      .build()
    
    // Initialize response builder
    val responseBuilder = JsonRpcResponse.builder()
      .version(request.version)
      .id(request.id)
    
    request.method match {
      case "sum" =>
        val params = request.params.get.as[Params]
    
        // Set result
        responseBuilder.result(params.values.sum)
      case name =>
        // Or set error
        responseBuilder.error(MethodNotFound(name))
    }
    
    // Create response with builder
    val response = responseBuilder.build()
    Definition Classes
    json
  • InternalError
  • InvalidParams
  • InvalidRequest
  • JsonRpc
  • JsonRpcError
  • JsonRpcIdentifier
  • JsonRpcMessage
  • JsonRpcRequest
  • JsonRpcResponse
  • MethodNotFound
  • ParseError

sealed trait JsonRpcResponse extends JsonRpcMessage

Represents JSON-RPC request.

Linear Supertypes
JsonRpcMessage, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonRpcResponse
  2. JsonRpcMessage
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def attributes: Map[String, Any]

    Gets attributes.

    Gets attributes.

    Definition Classes
    JsonRpcMessage
    Note

    Attributes are arbitrary values associated with message and are not included in transmission.

  2. abstract def error: JsonRpcError

    Gets error.

    Gets error.

    Exceptions thrown

    NoSuchElementException if no error

  3. abstract def id: JsonRpcIdentifier

    Gets identifier.

    Gets identifier.

    Definition Classes
    JsonRpcMessage
  4. abstract def isError: Boolean

    Tests for error.

  5. abstract def isResult: Boolean

    Tests for result.

  6. abstract def putAttribute(name: String, value: Any): JsonRpcResponse

    Puts attribute.

    Puts attribute.

    name

    attribute name

    value

    attribute value

    returns

    new instance of JsonRpcResponse

    Note

    If attribute already exists with given name, then its value is replaced.

  7. abstract def removeAttribute(name: String): JsonRpcResponse

    Removes attribute with given name.

    Removes attribute with given name.

    name

    attribute name

    returns

    new instance of JsonRpcResponse

  8. abstract def result: JsonValue

    Gets result.

    Gets result.

    Exceptions thrown

    NoSuchElementException if no result

  9. abstract def setAttributes(attributes: Map[String, Any]): JsonRpcResponse

    Sets attributes.

    Sets attributes.

    returns

    new instance of JsonRpcResponse

  10. abstract def version: String

    Gets JSON-RPC version.

    Gets JSON-RPC version.

    Definition Classes
    JsonRpcMessage

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def attribute[T](name: String): T

    Gets attribute with given name.

    Gets attribute with given name.

    name

    attribute name

    Definition Classes
    JsonRpcMessage
    Exceptions thrown

    NoSuchElementException if attribute does not exist

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def getAttribute[T](name: String): Option[T]

    Gets optional attribute with given name.

    Gets optional attribute with given name.

    name

    attribute name

    Definition Classes
    JsonRpcMessage
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from JsonRpcMessage

Inherited from AnyRef

Inherited from Any

Ungrouped