c

edu.gemini.grackle

InterfaceType

case class InterfaceType(name: String, description: Option[String], fields: List[Field], interfaces: List[NamedType]) extends Type with TypeWithFields with Product with Serializable

Interfaces are an abstract type where there are common fields declared. Any type that implements an interface must define all the fields with names and types exactly matching.

See also

https://facebook.github.io/graphql/draft/#sec-Interface

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InterfaceType
  2. Serializable
  3. TypeWithFields
  4. NamedType
  5. Type
  6. Product
  7. Equals
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new InterfaceType(name: String, description: Option[String], fields: List[Field], interfaces: List[NamedType])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def /(pathElement: String): Path
    Definition Classes
    Type
  4. def <:<(other: Type): Boolean

    true if this type is a subtype of other.

    true if this type is a subtype of other.

    Definition Classes
    Type
  5. def =:=(other: Type): Boolean

    Is this type equivalent to other.

    Is this type equivalent to other.

    Note that plain == will distinguish types from type aliases, which is typically not desirable, so =:= is usually the most appropriate comparison operator.

    Definition Classes
    Type
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def asLeaf: Option[Type]

    If the underlying type of this type is a scalar or an enum then yield it otherwise yield None.

    If the underlying type of this type is a scalar or an enum then yield it otherwise yield None.

    Definition Classes
    Type
  9. def asNamed: Option[NamedType]
    Definition Classes
    NamedTypeType
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  11. def dealias: NamedType

    Strip off aliases

    Strip off aliases

    Definition Classes
    NamedTypeType
  12. val description: Option[String]
    Definition Classes
    InterfaceTypeNamedType
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def exists: Boolean

    true if a non-TypeRef or a TypeRef to a defined type

    true if a non-TypeRef or a TypeRef to a defined type

    Definition Classes
    Type
  15. def field(fieldName: String): Option[Type]

    Yield the type of the field of this type named fieldName or None if there is no such field.

    Yield the type of the field of this type named fieldName or None if there is no such field.

    Definition Classes
    Type
  16. def fieldInfo(name: String): Option[Field]
    Definition Classes
    TypeWithFields
  17. val fields: List[Field]
    Definition Classes
    InterfaceTypeTypeWithFields
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def hasField(fieldName: String): Boolean

    true if this type has a field named fieldName, false otherwise.

    true if this type has a field named fieldName, false otherwise.

    Definition Classes
    Type
  20. val interfaces: List[NamedType]
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def isInterface: Boolean
    Definition Classes
    InterfaceTypeType
  23. def isLeaf: Boolean

    Is this type a leaf type?

    Is this type a leaf type?

    true if after stripping of aliases the underlying type a scalar or an enum, false otherwise.

    Definition Classes
    Type
  24. def isList: Boolean

    Is this type a list.

    Is this type a list.

    Definition Classes
    Type
  25. def isNamed: Boolean
    Definition Classes
    NamedTypeType
  26. def isNullable: Boolean

    Is this type nullable?

    Is this type nullable?

    Definition Classes
    Type
  27. def isUnderlyingLeaf: Boolean

    Is the underlying of this type a leaf type?

    Is the underlying of this type a leaf type?

    Strip off all aliases, nullability and enclosing list types until an underlying leaf type is reached, in which case yield true, or an a object, interface or union type which is reached, in which case yield false.

    Definition Classes
    Type
  28. def isUnion: Boolean
    Definition Classes
    Type
  29. def item: Option[Type]

    The element type of this type.

    The element type of this type.

    If this type is is a list, yield the non-list underlying type. Otherwise yield None.

    Definition Classes
    Type
  30. def list: Type

    This type if it is a (nullable) list, ListType(this) otherwise.

    This type if it is a (nullable) list, ListType(this) otherwise.

    Definition Classes
    Type
  31. val name: String

    The name of this type

    The name of this type

    Definition Classes
    InterfaceTypeNamedType
  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. def nominal_=:=(other: Type): Boolean
    Definition Classes
    Type
  34. def nonNull: Type

    A non-nullable version of this type.

    A non-nullable version of this type.

    If this type is nullable, yield the non-nullable underlying type. Otherwise yield this type.

    Definition Classes
    Type
  35. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  36. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  37. def nullable: Type

    This type if it is nullable, Nullable(this) otherwise.

    This type if it is nullable, Nullable(this) otherwise.

    Definition Classes
    Type
  38. def path(fns: List[String]): Option[Type]

    Yield the type of the field at the end of the path fns starting from this type, or None if there is no such field.

    Yield the type of the field at the end of the path fns starting from this type, or None if there is no such field.

    Definition Classes
    Type
  39. def pathIsList(fns: List[String]): Boolean

    Does the path fns from this type specify multiple values.

    Does the path fns from this type specify multiple values.

    true if navigating through the path fns from this type might specify 0 or more values. This will be the case if the path passes through at least one field of a List type.

    Definition Classes
    Type
  40. def pathIsNullable(fns: List[String]): Boolean

    Does the path fns from this type specify a nullable type.

    Does the path fns from this type specify a nullable type.

    true if navigating through the path fns from this type might specify an optional value. This will be the case if the path passes through at least one field of a nullable type.

    Definition Classes
    Type
  41. def productElementNames: Iterator[String]
    Definition Classes
    Product
  42. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  43. def toString(): String
    Definition Classes
    NamedType → AnyRef → Any
  44. def underlying: Type
    Definition Classes
    Type
  45. def underlyingField(fieldName: String): Option[Type]

    Yield the type of the field named fieldName of the object type underlying this type.

    Yield the type of the field named fieldName of the object type underlying this type.

    Strip off all aliases, nullability and enclosing list types until an underlying object type is reached which has a field named fieldName, in which case yield the type of that field; if there is no such field, yields None.

    Definition Classes
    Type
  46. def underlyingLeaf: Option[Type]

    Yield the leaf type underlying this type.

    Yield the leaf type underlying this type.

    Strip off all aliases, nullability and enclosing list types until an underlying leaf type is reached, in which case yield it, or an a object, interface or union type which is reached, in which case yield None.

    Definition Classes
    Type
  47. def underlyingObject: Option[Type]

    Yield the object type underlying this type.

    Yield the object type underlying this type.

    Strip off all aliases, nullability and enclosing list types until an underlying object type is reached, in which case yield it, or a non-object type which isn't further reducible is reached, in which case yield None.

    Definition Classes
    Type
  48. def variantField(fieldName: String): Boolean

    true if this type has a field named fieldName which is undefined in some interface it implements

    true if this type has a field named fieldName which is undefined in some interface it implements

    Definition Classes
    Type
  49. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  50. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. def withField[T](fieldName: String)(body: (Type) => Result[T]): Result[T]
    Definition Classes
    Type
  53. def withModifiersOf(tpe: Type): Type
    Definition Classes
    Type
  54. def withUnderlyingField[T](fieldName: String)(body: (Type) => Result[T]): Result[T]
    Definition Classes
    Type

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from TypeWithFields

Inherited from NamedType

Inherited from Type

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped