Package org.tmatesoft.svn.core

# Class SVNErrorMessage

java.lang.Object
org.tmatesoft.svn.core.SVNErrorMessage

All Implemented Interfaces:
  `Serializable`

public class SVNErrorMessage extends Object implements Serializable
The SVNErrorMessage class represents error and warning messages describing reasons of exceptions occurred during runtime. An error message may be of two levels:

- Error type
- Warning type

An error message may contain an error messages stack trace, what is useful for error reason investigations. Also such a message contains an error code (`SVNErrorCode`) what gives an ability to find out what kind of an error it is.

Error messages may be formatted. SVNErrorMessage performs formatting with the help of the JDK's `MessageFormat` class. To make a formatted message, use `MessageFormat` parsable format patterns and provide an array of related objects when creating an SVNErrorMessage.

Error messages may be supplied within exceptions of the main exception type - `SVNException`.

Since:
  1.2
Version:
  1.3
Author:
  TMate Software Ltd.
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`TYPE_ERROR`
Error messages of this type are considered to be errors (most critical) rather than warnings.
`static final int`
`TYPE_WARNING`
Error messages of this type are considered to be warnings, what in certain situations may be OK.
`static SVNErrorMessage`
`UNKNOWN_ERROR_MESSAGE`
This is a type of an error message denoting an error of an unknown nature.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SVNErrorMessage(SVNErrorCode code, String message, Object[] relatedObjects, Throwable th, int type)`

## Method Summary

Modifier and Type
Method
Description
`static SVNErrorMessage`
`create(SVNErrorCode code)`
Creates an error message given an error code.
`static SVNErrorMessage`
`create(SVNErrorCode code, String message)`
Creates an error message given an error code and description.
`static SVNErrorMessage`
`create(SVNErrorCode code, String message, int type)`
Creates an error message given an error code, description and a type ( whether it's a warning or an error).
`static SVNErrorMessage`
`create(SVNErrorCode code, String message, Object object)`
Creates an error message given an error code, description and may be a related object to be formatted with the error description.
`static SVNErrorMessage`
`create(SVNErrorCode code, String message, Object... objects)`
Creates an error message given an error code, description and may be related objects to be formatted with the error description.
`static SVNErrorMessage`
`create(SVNErrorCode code, String message, Object[] objects, int type)`
Creates an error message given an error code, description, an error type (whether it's a warning or an error) and may be related objects to be formatted with the error description.
`static SVNErrorMessage`
`create(SVNErrorCode code, String message, Object[] objects, int type, Throwable cause)`
Creates an error message given an error code, description, an error type (whether it's a warning or an error) and may be related objects to be formatted with the error description and an optional cause.
`static SVNErrorMessage`
`create(SVNErrorCode code, String message, Object object, int type)`
Creates an error message given an error code, description, an error type (whether it's a warning or an error) and may be a related object to be formatted with the error description.
`static SVNErrorMessage`
`create(SVNErrorCode code, Throwable cause)`
Creates an error message given an error code and cause.
`SVNErrorMessage`
`findChildWithErrorCode(SVNErrorCode errorCode)`
`Throwable`
`getCause()`
Returns throwable that is cause of the error if any.
`SVNErrorMessage`
`getChildErrorMessage()`
Returns an error message (if any) that was returned from a deeper method call.
`SVNErrorCode`
`getErrorCode()`
Returns the error code of the error.
`String`
`getFullMessage()`
Gets a string representation of the entire stack trace of error messages (if they were provided) starting with the initial cause of the error.
`String`
`getMessage()`
Returns an error description formatted with the related objects if needed.
`String`
`getMessageTemplate()`
Returns an error description which may contain message format patterns.
`Object[]`
`getRelatedObjects()`
Returns objects (if any) that were provided to be formatted with the error description.
`SVNErrorMessage`
`getRootErrorMessage()`
Follows the children chain and returns the error message of the last child in this chain.
`int`
`getType()`
Returns the type of the error (whether it's a warning or an error).
`boolean`
`hasChildErrorMessage()`
Says if this error message object has got a child error message.
`boolean`
`hasChildWithErrorCode(SVNErrorCode errorCode)`
`void`
`initCause(Throwable cause)`
`boolean`
`isDontShowErrorCode()`
`boolean`
`isErrorCodeShouldShown()`
`boolean`
`isWarning()`
Returns true if this message is a warning message, not error one.
`void`
`setChildErrorMessage(SVNErrorMessage childMessage)`
Sets a child error message for this one.
`void`
`setDontShowErrorCode(boolean dontShowErrorCode)`
`boolean`
`setType(int type)`
Sets the type of this error message.
`String`
`toString()`
Returns a string representation of this error message object formatting (if needed) the error description with the provided related objects.
`SVNErrorMessage`
`wrap(String parentMessage)`
Wraps this error message into a new one that is returned as a parent error message.
`SVNErrorMessage`
`wrap(String parentMessage, Object relatedObject)`
Wraps this error message into a new one that is returned as a parent error message.
`SVNErrorMessage`
`wrap(String parentMessage, Object[] relatedObjects)`
Wraps this error message into a new one that is returned as a parent error message.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### TYPE_ERROR

public static final int TYPE_ERROR
Error messages of this type are considered to be errors (most critical) rather than warnings.

See Also:
  - Constant Field Values

### TYPE_WARNING

public static final int TYPE_WARNING
Error messages of this type are considered to be warnings, what in certain situations may be OK.

See Also:
  - Constant Field Values

### UNKNOWN_ERROR_MESSAGE

public static SVNErrorMessage UNKNOWN_ERROR_MESSAGE
This is a type of an error message denoting an error of an unknown nature. This corresponds to an `SVNErrorCode.UNKNOWN` error.

## Constructor Details

### SVNErrorMessage

protected SVNErrorMessage(SVNErrorCode code, String message, Object[] relatedObjects, Throwable th, int type)

## Method Details

### create

public static SVNErrorMessage create(SVNErrorCode code)
Creates an error message given an error code.

Parameters:
  `code` - an error code
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message)
Creates an error message given an error code and description.

Parameters:
  `code` - an error code
  `message` - an error description
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, Throwable cause)
Creates an error message given an error code and cause.

Parameters:
  `code` - an error code
  `cause` - cause of the error
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message, Object object)
Creates an error message given an error code, description and may be a related object to be formatted with the error description. To format the provided `object` with the `message`, you should use valid format patterns parsable for `MessageFormat`.

Parameters:
  `code` - an error code
  `message` - an error description
  `object` - an object related to the error `message`
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message, Object... objects)
Creates an error message given an error code, description and may be related objects to be formatted with the error description. To format the provided `objects` with the `message`, you should use valid format patterns parsable for `MessageFormat`.

Parameters:
  `code` - an error code
  `message` - an error description
  `objects` - an array of objects related to the error `message`
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message, int type)
Creates an error message given an error code, description and a type ( whether it's a warning or an error).

Parameters:
  `code` - an error code
  `message` - an error description
  `type` - an error type
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message, Object object, int type)
Creates an error message given an error code, description, an error type (whether it's a warning or an error) and may be a related object to be formatted with the error description. To format the provided `object` with the `message`, you should use valid format patterns parsable for `MessageFormat`.

Parameters:
  `code` - an error code
  `message` - an error description
  `object` - an object related to the error `message`
  `type` - an error type
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message, Object[] objects, int type)
Creates an error message given an error code, description, an error type (whether it's a warning or an error) and may be related objects to be formatted with the error description. To format the provided `objects` with the `message`, you should use valid format patterns parsable for `MessageFormat`.

Parameters:
  `code` - an error code
  `message` - an error description
  `objects` - an array of objects related to the error `message`
  `type` - an error type
Returns:
  a new error message

### create

public static SVNErrorMessage create(SVNErrorCode code, String message, Object[] objects, int type, Throwable cause)
Creates an error message given an error code, description, an error type (whether it's a warning or an error) and may be related objects to be formatted with the error description and an optional cause. To format the provided `objects` with the `message`, you should use valid format patterns parsable for `MessageFormat`.

Parameters:
  `code` - an error code
  `message` - an error description
  `objects` - an array of objects related to the error `message`
  `type` - an error type
  `cause` - cause of the error
Returns:
  a new error message

### getType

public int getType()
Returns the type of the error (whether it's a warning or an error).

Returns:
  the type of this error message

### getErrorCode

public SVNErrorCode getErrorCode()
Returns the error code of the error.

Returns:
  th error code of the error

### getMessage

public String getMessage()
Returns an error description formatted with the related objects if needed. This call is equivalent to a call to `toString()`

Returns:
  an error message

### getFullMessage

public String getFullMessage()
Gets a string representation of the entire stack trace of error messages (if they were provided) starting with the initial cause of the error.

Returns:
  a string representing a full list of error messages

### getMessageTemplate

public String getMessageTemplate()
Returns an error description which may contain message format patterns.

Returns:
  an error description

### getRelatedObjects

public Object[] getRelatedObjects()
Returns objects (if any) that were provided to be formatted with the error description. Objects are formatted by the standard `MessageFormat` engine.

Returns:
  an array of objects

### getChildErrorMessage

public SVNErrorMessage getChildErrorMessage()
Returns an error message (if any) that was returned from a deeper method call. So the topmost error messages have the entire chain of error messages down to the real error cause.

Returns:
  a child error message object (if this object is not the first one)

### hasChildErrorMessage

public boolean hasChildErrorMessage()
Says if this error message object has got a child error message.

Returns:
  true if has, false otherwise (for example, an initial error message would not have a child error message)

### getCause

public Throwable getCause()
Returns throwable that is cause of the error if any.

Returns:
  throwable that caused error or null if not applicable or not known.

### toString

public String toString()
Returns a string representation of this error message object formatting (if needed) the error description with the provided related objects. If no error description pattern has been provided, the return value includes a string representation of the error code (see `SVNErrorCode`).

Overrides:
  `toString` in class `Object`
Returns:
  a string representing this object.

### isErrorCodeShouldShown

public boolean isErrorCodeShouldShown()

### setChildErrorMessage

public void setChildErrorMessage(SVNErrorMessage childMessage)
Sets a child error message for this one.

Parameters:
  `childMessage` - a child error message

### wrap

public SVNErrorMessage wrap(String parentMessage)
Wraps this error message into a new one that is returned as a parent error message. A parent message is set the error code of this error message, a new error description and this error message as its child.

Parameters:
  `parentMessage` - a parent error description
Returns:
  a parent error message

### wrap

public SVNErrorMessage wrap(String parentMessage, Object relatedObject)
Wraps this error message into a new one that is returned as a parent error message. A parent message is set the error code of this error message, a new error description and this error message as its child.

Parameters:
  `parentMessage` - a parent error description
  `relatedObject` - an object to be formatted with `parentMessage`
Returns:
  a parent error message

### wrap

public SVNErrorMessage wrap(String parentMessage, Object[] relatedObjects)
Wraps this error message into a new one that is returned as a parent error message. A parent message is set the error code of this error message, a new error description `parentMessage` with corresponding `relatedObjects` to format the error description, and this error message as its child.

Parameters:
  `parentMessage` - a parent error description
  `relatedObjects` - objects to be formatted with `parentMessage`
Returns:
  a parent error message

### isWarning

public boolean isWarning()
Returns true if this message is a warning message, not error one.

Returns:
  true if this error message is of type `TYPE_WARNING`} and false otherwise

### setType

public boolean setType(int type)
Sets the type of this error message.

`type` must be either `TYPE_ERROR` or `TYPE_WARNING`. This method is intended for inner (within internals) purposes only and must not be used by API users.

Parameters:
  `type` - error message type
Returns:
  true if the type of this error message is changed, false if the type passed is not recognized and thus ignored

### getRootErrorMessage

public SVNErrorMessage getRootErrorMessage()
Follows the children chain and returns the error message of the last child in this chain. Starts with `getChildErrorMessage()`.

Returns:
  error message of the last element in the children chain

### isDontShowErrorCode

public boolean isDontShowErrorCode()

### setDontShowErrorCode

public void setDontShowErrorCode(boolean dontShowErrorCode)

### findChildWithErrorCode

public SVNErrorMessage findChildWithErrorCode(SVNErrorCode errorCode)

### hasChildWithErrorCode

public boolean hasChildWithErrorCode(SVNErrorCode errorCode)

### initCause

public void initCause(Throwable cause)