Packages

c

sangria.schema

ScalarType

case class ScalarType[T](name: String, description: Option[String] = None, coerceUserInput: (Any) => Either[Violation, T], coerceOutput: (T, Set[MarshallerCapability]) => Any, coerceInput: (ast.Value) => Either[Violation, T], complexity: Double = 0.0d, scalarInfo: Set[ScalarValueInfo] = Set.empty, astDirectives: Vector[ast.Directive] = Vector.empty, astNodes: Vector[AstNode] = Vector.empty) extends InputType[@@[T, CoercedScalaResult]] with OutputType[T] with LeafType with NullableType with UnmodifiedType with Named with Product with Serializable

Defines a GraphQL scalar value type.

coerceOutput is allowed to return following scala values:

  • String
  • Boolean
  • Int
  • Long
  • Float
  • Double
  • scala.BigInt
  • scala.BigDecimal
  • sangria.ast.Value (it would be converted to raw scala value before given to a marshalling API)

It may also return other values as well as long as underlying marshalling library supports them.

You can provide additional meta-information to marshalling API with scalarInfo.

Linear Supertypes
Serializable, Product, Equals, UnmodifiedType, NullableType, LeafType, HasAstInfo, Named, HasDescription, OutputType[T], InputType[@@[T, CoercedScalaResult]], Type, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalarType
  2. Serializable
  3. Product
  4. Equals
  5. UnmodifiedType
  6. NullableType
  7. LeafType
  8. HasAstInfo
  9. Named
  10. HasDescription
  11. OutputType
  12. InputType
  13. Type
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ScalarType(name: String, description: Option[String] = None, coerceUserInput: (Any) => Either[Violation, T], coerceOutput: (T, Set[MarshallerCapability]) => Any, coerceInput: (ast.Value) => Either[Violation, T], complexity: Double = 0.0d, scalarInfo: Set[ScalarValueInfo] = Set.empty, astDirectives: Vector[ast.Directive] = Vector.empty, astNodes: Vector[AstNode] = Vector.empty)

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. val astDirectives: Vector[ast.Directive]
    Definition Classes
    ScalarTypeHasAstInfo
  6. val astNodes: Vector[AstNode]
    Definition Classes
    ScalarTypeHasAstInfo
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. val coerceInput: (ast.Value) => Either[Violation, T]
  9. val coerceOutput: (T, Set[MarshallerCapability]) => Any
  10. val coerceUserInput: (Any) => Either[Violation, T]
  11. val complexity: Double
  12. val description: Option[String]
    Definition Classes
    ScalarTypeHasDescription
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. lazy val isList: Boolean
    Definition Classes
    InputType
  18. lazy val isNamed: Boolean
    Definition Classes
    InputType
  19. lazy val isOptional: Boolean
    Definition Classes
    InputType
  20. val name: String
    Definition Classes
    ScalarTypeNamed
  21. def namedInputType: InputType[_]
    Definition Classes
    InputType
  22. def namedType: Type with Named
    Definition Classes
    Type
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. lazy val nonOptionalType: InputType[Any]
    Definition Classes
    InputType
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. def productElementNames: Iterator[String]
    Definition Classes
    Product
  28. def rename(newName: String): ScalarType.this.type
    Definition Classes
    ScalarTypeNamed
  29. val scalarInfo: Set[ScalarValueInfo]
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. def toAst: TypeDefinition
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from UnmodifiedType

Inherited from NullableType

Inherited from LeafType

Inherited from HasAstInfo

Inherited from Named

Inherited from HasDescription

Inherited from OutputType[T]

Inherited from InputType[@@[T, CoercedScalaResult]]

Inherited from Type

Inherited from AnyRef

Inherited from Any

Ungrouped