Conta Fork Yeah
Fork yeah!! Identifiers done right.
conta-fork-yeah is a small library for forking complex object graphs — most commonly to carry data from one period to the next (fiscal year, budget cycle, schedule season, software release) or to clone an entity within the same period.
The name is borrowed from "forking a repository": you take an existing graph as the starting point, produce a divergent copy, and keep a pointer back to where it came from.
The library defines the contracts that domain entities implement to be forkable, the mode of the fork (copy, next, previous), and the lineage that gets recorded so the new graph can be traced back to its source.
Where to go from here:
-
Read What is Conta Fork Yeah? for a plain-language explanation of what the library is for.
-
Read The Forking Model to learn about fork modes and how lineage is tracked.
-
Read Forks and Commands for the relationship with
conta-commandand how to reason about source drift. -
Jump to Getting Started if you want to make a domain entity forkable.
Installation
Add the module conta-fork-yeah-api.
In order to enable it, it is just necessary to include the conta-open repository:
repositories {
mavenCentral()
maven {
name 'contaOpen'
url 'https://gitlab.com/api/v4/groups/12992043/-/packages/maven'
}
}
and add the dependency:
dependencies {
implementation 'no.conta.fork-yeah:conta-fork-yeah-api:<version>'
}