Class/Object

com.snowplowanalytics.iglu.schemaddl

VersionTree

Related Docs: object VersionTree | package schemaddl

Permalink

final case class VersionTree extends AnyVal with Product with Serializable

The order preserving tree, containing all versions and satisfying following properties: - A version is _clustered_ with previous ones if higher group matches e.g. for 1-0-0 and 1-0-1 both higher groups (MODEL and REVISION) match e.g. for 1-0-1 and 1-1-0 only MODEL matches, so same MODEL cluster, but new REVISION cluster - A version spawns a new cluster if previous higher group is either smaller or larger e.g. 1-0-0, 1-1-0, 1-0-1 is a valid version list, but has three separate REVISION clusters - There's no gaps between versions (e.g. [1-0-0, 1-0-2] is impossible) - Tree is non-empty and always starts with 1-0-0

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. VersionTree
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyVal
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

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

    Permalink
    Definition Classes
    Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  4. def add(version: Full): Either[AddingError, VersionTree]

    Permalink

    Try to add a next version to the tree, which can be rejected if any properties don't hold

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def getClass(): Class[_ <: AnyVal]

    Permalink
    Definition Classes
    AnyVal → Any
  7. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  8. def modelGroupList(model: Model): Option[NonEmptyList[SchemaVer]]

    Permalink

    Get all SchemaVers in particular MODEL (used for migrations)

  9. val models: NonEmptyList[(Model, Revisions)]

    Permalink

    list of MODEL clusters in reverse order (latest one is head) e.g.

    list of MODEL clusters in reverse order (latest one is head) e.g. (1, [0-0, 0-1]), (2, [0-0]), (1, [0-2, 1-0])

  10. def show: String

    Permalink
  11. def versionList: VersionList

    Permalink

    Get all versions in their natural order

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyVal

Inherited from Any

Ungrouped