Data

org.finos.morphir.datamodel.Data$
See theData companion trait
object Data

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Data.type

Members list

Type members

Classlikes

case class Aliased(data: Data, shape: Alias) extends Data

Represents data that lives beind a typedef. For example,

Represents data that lives beind a typedef. For example,

 type Label = String
 val x: Label = "xyz"

Should would be represented as

 Aliased(Data.String("xyz"), schema = Schema.Alias("Label", Data.String))

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
sealed trait Basic[+A] extends Data

Attributes

Supertypes
trait Data
trait Writable
class Object
trait Matchable
class Any
Known subtypes
class Boolean
class Byte
class Char
class Decimal
class Int16
class Int32
class Integer
class LocalDate
class LocalTime
class Month
class String
object Unit.type
Show all
case class Boolean(value: Boolean) extends Basic[Boolean]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[Boolean]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Boolean

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Boolean.type
case class Byte(value: Byte) extends Basic[Byte]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[Byte]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Byte

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Byte.type
case class Case(values: List[(EnumLabel, Data)], enumLabel: String, shape: Enum) extends Data

See notes on Concept.Enum for information on how this type is modelled

See notes on Concept.Enum for information on how this type is modelled

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Case

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Case.type
case class Char(value: Char) extends Basic[Char]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[Char]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Char

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Char.type
case class Decimal(value: BigDecimal) extends Basic[BigDecimal]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[BigDecimal]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Decimal

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Decimal.type
case class Int16(value: Short) extends Basic[Short]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[Short]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Int16

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Int16.type
case class Int32(value: Int) extends Basic[Int]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[Int]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Int32

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Int32.type
case class Integer(value: BigInt) extends Basic[BigInt]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[BigInt]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Integer

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Integer.type
case class List extends Data

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object List

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
List.type
case class LocalDate(value: LocalDate) extends Basic[LocalDate]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[LocalDate]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object LocalDate

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
LocalDate.type
case class LocalTime(value: LocalTime) extends Basic[LocalTime]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[LocalTime]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object LocalTime

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
LocalTime.type
case class Map extends Data

Since in ELM, record-based datastructures are generally kept in order, we want to preserve element ordering until the last possible second (i.e. within the DDL structure). This should perserve a certain amount of determinism. We have chosen to use LinkedHashMap because Scala's immutable ListMap is only suitable for a small amount of elements and has O(n) lookup time. Despite the fact that this datastructure is mutable

Since in ELM, record-based datastructures are generally kept in order, we want to preserve element ordering until the last possible second (i.e. within the DDL structure). This should perserve a certain amount of determinism. We have chosen to use LinkedHashMap because Scala's immutable ListMap is only suitable for a small amount of elements and has O(n) lookup time. Despite the fact that this datastructure is mutable

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Map

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Map.type
case class Month(value: Month) extends Basic[Month]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[Month]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Month

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Month.type
object Optional

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Optional.type
sealed trait Optional extends Data

Equlvalent to ELM Optional or Scala Option

Equlvalent to ELM Optional or Scala Option

Attributes

Companion
object
Supertypes
trait Data
trait Writable
class Object
trait Matchable
class Any
Known subtypes
class None
class Some
case class Record extends Data

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Record

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Record.type
case class String(value: String) extends Basic[String]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Basic[String]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object String

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
String.type
case class Struct(values: List[(Label, Data)]) extends Data

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Struct

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Struct.type
case class Tuple(values: List[Data]) extends Data

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
object Tuple

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Tuple.type
case class Union(value: Data, shape: Union) extends Data

A instance of a non-discrimiated union-type such as a Scala 3

A instance of a non-discrimiated union-type such as a Scala 3

 type MyUnion = Int | String

Would be defined as

 Union(Schema.Int, Schema.String)

A value of it would defined as:

 Data.Union(Data.Int(123), Union(Schema.Int, Schema.String))

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
case object Unit extends Basic[Unit]

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Basic[Unit]
trait Data
trait Writable
class Object
trait Matchable
class Any
Show all
Self type
Unit.type

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def Int(value: Int): Int32

Concrete fields

val False: Data
val True: Data