This class is used for keeping triples that are used by several transactions in parallel in sync. It allows a transaction that creates a triple to register this triple and make the triple ID available to other transactions to avoid duplicates. When a transaction commits, it then releases all its triple registrations.
The implementation is based on a very simple database table (REGISTRY). When a transaction creates a triple with a new ID, it temporarily inserts a row mapping the (subject,predicate,object,context) -> triple ID. Other transactions trying to create the same triple can then first lookup this ID. If they do so successfully, they will also insert a row to the registry.
@author Sebastian Schaffert (sschaffert@apache.org)