# Package org.eclipse.rdf4j.spring.uuidsource

This package contains different approaches for generating UUIDs. One of them always generates the same sequence of UUIDs after bean initialization, which is useful for tests. Three of them obtain them from a `Repository`, guaranteeing their uniqueness. Due to the very, very, very low probability of a collision, it is recommended not to use any of the latter and instead rely on the one instantiated by default, `DefaultUUIDSource`.

1. `PredictableUUIDSource`: Always generate the same sequence of UUIDs.
2. `NoveltyCheckingUUIDSource`: Generate a `UUID` locally using `UUID.randomUUID()` and then ask the repository if the UUID is unique. Enable with `rdf4j.spring.uuidsource.noveltychecking.enabled=true`
3. `SimpleRepositoryUUIDSource`: Ask the repository for a new UUID each time one is needed. Enable with `rdf4j.spring.uuidsource.simple.enabled=true`
4. `UUIDSequence`: When a UUID is needed, ask the repository for N >> 1 UUIDs and answer one at a time. Enable with `rdf4j.spring.uuidsource.sequence.enabled=true`

Only one of these approaches can be activated.

Since:
  4.0.0
Author:
  Florian Kleedorfer