Self-describing Schema container for JValue
Map of Schemas to all its possible target schemas Examples: com.acme/event/1-0-0 -> [1-0-0/1-0-1, 1-0-0/1-0-2, 1-0-0/1-0-3] com.acme/event/1-0-1 -> [1-0-1/1-0-2, 1-0-1/1-0-3] com.acme/event/1-0-2 -> [1-0-2/1-0-3] com.acme/config/1-1-0 -> [1-1-0/1-0-1]
Schema criterion restricted to model: vendor/name/m-*-* Tuple using as root key to bunch of Schemas differing only by addition (vendor, name, model)
Schema criterion restricted to revision: vendor/name/m-r-* Tuple using as root key to bunch of Schemas differing only by addition (vendor, name, model, revision) Hypothetical "lower" AdditionGroup could contain only one Schema
Intermediate nested structure used to group schemas by revision Examples: com.acme/event/1-0-* -> MigrationMap com.acme/event/1-1-* -> MigrationMap com.acme/config/1-1-* -> MigrationMap com.google/schema/1-0-* -> MigrationMap
Set of Schemas properties attached to corresponding JSON Pointers
Unlike their original Schemas, these have null
among types if they're not required
The order preserving tree, containing all versions and satisfying following properties: - A version is _clustered_ with previous ones if higher group matches e.g.
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
Utilities for manipulating Strings
Group - continuous, but possibly *unclosed* sequence of child versions (opposed to always closed Set?), e.g.
Group - continuous, but possibly *unclosed* sequence of child versions (opposed to always closed Set?), e.g. 2,3 additions of 0 revision (but 0,1,4,5 are "outside")
Set - continuous and always closed sequence of child versions (opposed to possibly *unclosed* Group) e.g. 0,1,2,3,4,5 additions of 0 revision (nothing else in the revision)
Highest - largest number in a whole Set (5th addition) Latest - largest number in a whole Group (3rd addition)
case class X is a group, it has information about all its Xs and children Ys