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 JsonRpcRequest extends JsonRpcMessage

Represents JSON-RPC request.

Linear Supertypes
JsonRpcMessage, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonRpcRequest
  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 id: JsonRpcIdentifier

    Gets identifier.

    Gets identifier.

    Definition Classes
    JsonRpcMessage
  3. abstract def isNotification: Boolean

    Tests for notification.

    Tests for notification.

    Note

    A request is a notification if its identifier is undefined.

  4. abstract def method: String

    Gets method.

  5. abstract def params: Option[JsonValue]

    Gets parameters.

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

    Puts attribute.

    Puts attribute.

    name

    attribute name

    value

    attribute value

    returns

    new instance of JsonRpcRequest

    Note

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

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

    Removes attribute with given name.

    Removes attribute with given name.

    name

    attribute name

    returns

    new instance of JsonRpcRequest

  8. abstract def setAttributes(attributes: Map[String, Any]): JsonRpcRequest

    Sets attributes.

    Sets attributes.

    returns

    new instance of JsonRpcRequest

  9. 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