Кто-нибудь знает библиотеку или некоторые, по крайней мере, некоторые исследования по созданию и использованию постоянных структур данных в Java? Я не отношусь к упорству как к долговременному хранению, а к сохранности с точки зрения неизменности (см. запись в Википедии).
В настоящее время я изучаю различные способы моделирования api для постоянных структур. Использование строителей кажется интересным решением:
// create persistent instance
Person p = Builder.create(Person.class)
.withName("Joe")
.withAddress(Builder.create(Address.class)
.withCity("paris")
.build())
.build();
// change persistent instance, i.e. create a new one
Person p2 = Builder.update(p).withName("Jack");
Person p3 = Builder.update(p)
.withAddress(Builder.update(p.address())
.withCity("Berlin")
.build)
.build();
Но это все еще кажется несколько запутанным. Любые идеи?