org.opendaylight.yangtools.yang.common.RpcError Maven / Gradle / Ivy
/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.yangtools.yang.common;
/**
* Representation of an error.
*/
public interface RpcError {
/**
* Returns the error severity, as determined by the application reporting the error.
*
* @return an {@link ErrorSeverity} enum.
*/
ErrorSeverity getSeverity();
/**
* Returns a short string that identifies the general type of error condition.
*
*
* The following outlines suggested values as defined by
* (RFC6241):
*
*
* access-denied
* bad-attribute
* bad-element
* data-exists
* data-missing
* in-use
* invalid-value
* lock-denied
* malformed-message
* missing-attribute
* missing-element
* operation-failed
* operation-not-supported
* resource-denied
* rollback-failed
* too-big
* unknown-attribute
* unknown-element
* unknown-namespace
*
* @return a string if available or null otherwise.
*/
ErrorTag getTag();
/**
* Returns a short string that identifies the specific type of error condition as
* determined by the application reporting the error.
*
* @return a string if available or null otherwise.
*/
String getApplicationTag();
/**
* Returns a string suitable for human display that describes the error
* condition.
*
* @return a message string.
*/
String getMessage();
/**
* Returns a string containing additional information to provide extended
* and/or implementation-specific debugging information.
*
* @return a string if available or null otherwise.
*/
// FIXME: YANGTOOLS-765: this is wrong and needs to be modeled at data-api layer with YangErrorInfo
String getInfo();
/**
* Returns an exception cause.
*
* @return a Throwable if the error was triggered by exception, null otherwise.
*/
Throwable getCause();
/**
* Returns the conceptual layer at which the error occurred.
*
* @return an {@link ErrorType} enum.
*/
ErrorType getErrorType();
}