org.coursera.courier.generator.specs

Definition

abstract class Definition extends Deprecatable

Pegasus provides ClassTemplateSpecs to "flatten" the data schemas provided to a data binding generator and make it easier to write the generator.

These Definitions classes wrap ClassTemplateSpecs so that we can use idiomatic scala types in our templates. They also add language specific escaping and convenience functions specifically for generating data bindings for Scala.

This trait is for all Scala classes that wrap ClassTemplateSpec and it's sub-classes, it represents the common properties shared by all pegasus data binding generator utility types.

Linear Supertypes
Deprecatable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Definition
  2. Deprecatable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Definition(spec: ClassTemplateSpec)

Abstract Value Members

  1. abstract def directReferencedTypes: Set[Definition]

    Return types this type references.

    Return types this type references. For a record, this will return the types of all the fields. For a array, this will return the items type.

  2. abstract def rawDataType: String

    The raw pegasus "data" type that is stored in the underlying DataMap or DataList.

    The raw pegasus "data" type that is stored in the underlying DataMap or DataList.

    For custom types, this is the raw type of fully dereferenced type.

    For primitives, this is the java boxed type, e.g. java.lang.Integer.

    For complex types, this is the raw, type, e.g. DataMap for records, DataList for arrays.

  3. abstract def scalaDoc: Option[String]

    Includes the opening and closing scaladoc comment tags.

  4. abstract def schema: Option[DataSchema]

    The schema of the type.

    The schema of the type. Not present for definitions of "raw" classes, such as the 'coercer' and 'class' of a custom type.

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def allReferencedTypes: Set[Definition]

    Return all types directly or transitively referenced by this type.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def containedTypes: Set[Definition]

    All types that should be generated as types inside this type.

  10. def dataType: String

    The pegasus "data" type.

    The pegasus "data" type.

    This if sometimes the same as scalaType. It will be different for custom type and for primitive types.

    For custom types, it will be the referenced type.

    For primitives, this will be the java boxed type, e.g. java.lang.Integer whereas the scalaType would be Int.

  11. def deprecationMessage: Option[String]

    Is is possible for a type to be deprecated but have not deprecation message, so even if this is None, isDeprecated still might be true.

    Is is possible for a type to be deprecated but have not deprecation message, so even if this is None, isDeprecated still might be true.

    Definition Classes
    Deprecatable
  12. def enclosingDefinition: Option[Definition]

    The containing type of this type, if any.

    The containing type of this type, if any.

    When a type is contained in another type, it should be generated as a subtype of that type.

    Unions are commonly generated as contained types.

  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(other: Any): Boolean

    Definition Classes
    Definition → AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Definition Classes
    Definition → AnyRef → Any
  18. def isDeprecated: Boolean

    Definition Classes
    Deprecatable
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. def isTopLevel: Boolean

  21. def memberName: String

    The name that should be given to any Union member wrappers of this type.

  22. def namespace: Option[String]

    The namespace of the scala type, if any.

    The namespace of the scala type, if any.

    Only present for complex types.

  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  26. def properties: Map[String, AnyRef]

    Definition Classes
    DefinitionDeprecatable
  27. def scalaGenericCollectionType: String

    The scala Generic collection type that corresponds to the type.

    The scala Generic collection type that corresponds to the type. This is the same as scalaTypeFullname for all types except maps and arrays, which are represented by Map[K, V] and Traversable[I] instead of by their pegasus generated binding types.

  28. def scalaType: String

    The scala type without namespace.

    The scala type without namespace.

    For complex types, this is the name of the generated data binding class.

    For primitive types, this is the Scala native type, e.g. "Int".

  29. def scalaTypeFullname: String

    The fully qualified name of the scala type.

  30. val spec: ClassTemplateSpec

  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  32. def toString(): String

    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Deprecatable

Inherited from AnyRef

Inherited from Any

Ungrouped