package org.multiverse.api.exceptions; import static java.lang.String.format; /** * A {@link PropagationException} thrown when no {@link org.multiverse.api.Txn} is available while it is mandatory. A typical * cause of this exception is that the {@link org.multiverse.api.PropagationLevel#Mandatory} is used. * * @author Peter Veentjer * @see org.multiverse.api.TxnFactoryBuilder#setPropagationLevel(org.multiverse.api.PropagationLevel) */ public class TxnMandatoryException extends PropagationException { private static final long serialVersionUID = 0; /** * Creates a new TxnMandatoryException. */ public TxnMandatoryException() { } /** * Creates a new TxnMandatoryException with the provided message. * * @param message the message of the exception. */ public TxnMandatoryException(String message) { super(message); } /** * Creates a new TxnMandatoryException * * @param clazz the class of the method where the transaction was required * @param method the name of the method where the transaction was required. */ public TxnMandatoryException(Class clazz, String method){ super(format("%s.%s is missing a required transaction", clazz.getName(),method)); } /** * Creates a new TxnMandatoryException with the provided message. * * @param message the message of the exception. * @param cause the cause of the exception. */ public TxnMandatoryException(String message, Throwable cause) { super(message, cause); } }