package org.molgenis.data.transaction;
import com.google.common.collect.Sets;
import org.springframework.stereotype.Component;
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
/**
* Registry of {@link TransactionExceptionTranslator TransactionExceptionTranslators}
*/
@Component
public class TransactionExceptionTranslatorRegistry
{
private final Set<TransactionExceptionTranslator> transactionExceptionTranslators;
public TransactionExceptionTranslatorRegistry()
{
transactionExceptionTranslators = Sets.newLinkedHashSetWithExpectedSize(1);
}
Collection<TransactionExceptionTranslator> getTransactionExceptionTranslators()
{
return Collections.unmodifiableSet(transactionExceptionTranslators);
}
public void register(TransactionExceptionTranslator transactionExceptionTranslator)
{
transactionExceptionTranslators.add(transactionExceptionTranslator);
}
@SuppressWarnings("unused")
public void unregister(TransactionExceptionTranslator transactionExceptionTranslator)
{
transactionExceptionTranslators.remove(transactionExceptionTranslator);
}
}