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
- Alphabetic
- By Inheritance
- VersionTree
- Serializable
- Serializable
- Product
- Equals
- AnyVal
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
def
add(version: Full): Either[AddingError, VersionTree]
Try to add a next version to the tree, which can be rejected if any properties don't hold
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
modelGroupList(model: Model): Option[NonEmptyList[SchemaVer]]
Get all SchemaVers in particular MODEL (used for migrations)
- val models: NonEmptyList[(Model, Revisions)]
- def show: String
-
def
versionList: VersionList
Get all versions in their natural order