package net.onrc.onos.core.datastore;

//
// Not sure if we really need this base class.
// Just copied hierarchy from RAMCloud.
//
/**
 * Base exception class for conditional write, etc. failure.
 */
public class RejectRulesException extends Exception {
    private static final long serialVersionUID = -1444683012320423530L;

    public RejectRulesException(final String message) {
        super(message);
    }

    public RejectRulesException(final String message, final Throwable cause) {
        super(message, cause);
    }

    public RejectRulesException(final Throwable cause) {
        super(cause);
    }
}
