/*
* Copyright 2010 Outerthought bvba
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.lilyproject.repository.api;
import java.util.Map;
/**
* This exception encapsulates any lower-level exceptions thrown by the repository.
* These exceptions should not occur under normal operation of the repository.
*/
public class RepositoryException extends Exception {
/**
* Constructor only used by {@link AvroConverter} to reconstruct the original exception.
*
* <p>Each subclass should implement this constructor and be able to re-construct itself based on either the message or the state.
*
* @param message the message of the exception
* @param state the other values of the exception
*/
public RepositoryException(String message, Map<String, String> state) {
super(message);
}
/**
* Returns a map with the state of the exception so that its constructor can use them to recreate the original exception.
*
* <p>Each subclass should implement this method.
* <p>Only to be used by the {@link AvroConverter}
*/
public Map<String, String> getState() {
return null;
}
public RepositoryException() {
super();
}
public RepositoryException(String message) {
super(message);
}
public RepositoryException(String message, Throwable cause) {
super(message, cause);
}
public RepositoryException(Throwable cause) {
super(cause);
}
}