Class ErrorDetail<SelfT extends ErrorDetail<SelfT>>
- java.lang.Object
-
- com.google.inject.spi.ErrorDetail<SelfT>
-
- All Implemented Interfaces:
Serializable
public abstract class ErrorDetail<SelfT extends ErrorDetail<SelfT>> extends Object implements Serializable
Details about a single Guice error and supports formatting itself in the context of other Guice errors.WARNING: The class and its APIs are still experimental and subject to change.
- Since:
- 5.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedErrorDetail(String message, List<Object> sources, Throwable cause)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)voidformat(int index, List<ErrorDetail<?>> mergeableErrors, Formatter formatter)Formats this error along with other errors that are mergeable with this error.protected abstract voidformatDetail(List<ErrorDetail<?>> mergeableErrors, Formatter formatter)Formats the detail of this error message along with other errors that are mergeable with this error.ThrowablegetCause()protected Optional<String>getErrorIdentifier()Returns an optional string identifier for this error.protected Optional<String>getLearnMoreLink()Returns an optional link to additional documentation about this error to be included in the formatted error message.StringgetMessage()List<Object>getSources()inthashCode()booleanisMergeable(ErrorDetail<?> otherError)Returns true if this error can be merged with theotherErrorand formatted together.abstract SelfTwithSources(List<Object> newSources)Returns a new instance of the sameErrorDetailwith updated sources.
-
-
-
Method Detail
-
isMergeable
public boolean isMergeable(ErrorDetail<?> otherError)
Returns true if this error can be merged with theotherErrorand formatted together.By default this return false and implementations that support merging with other errors should override this method.
-
format
public final void format(int index, List<ErrorDetail<?>> mergeableErrors, Formatter formatter)Formats this error along with other errors that are mergeable with this error.mergeableErrorsis a list that contains all other errors that are reported in the same exception that are considered to be mergable with this error base on result of callingisMergeable(com.google.inject.spi.ErrorDetail<?>). The list will be empty if non of the other errors are mergable with this error.Formatted error has the following structure:
- Summary of the error
- Details about the error such as the source of the error
- Hints for fixing the error if available
- Link to the documentation on this error in greater detail
- Parameters:
index- index for this errormergeableErrors- list of errors that are mergeable with this errorformatter- for printing the error message
-
formatDetail
protected abstract void formatDetail(List<ErrorDetail<?>> mergeableErrors, Formatter formatter)
Formats the detail of this error message along with other errors that are mergeable with this error. This is called fromformat(int, java.util.List<com.google.inject.spi.ErrorDetail<?>>, java.util.Formatter).mergeableErrorsis a list that contains all other errors that are reported in the same exception that are considered to be mergable with this error base on result of callingisMergeable(com.google.inject.spi.ErrorDetail<?>). The list will be empty if non of the other errors are mergable with this error.- Parameters:
mergeableErrors- list of errors that are mergeable with this errorformatter- for printing the error message
-
getLearnMoreLink
protected Optional<String> getLearnMoreLink()
Returns an optional link to additional documentation about this error to be included in the formatted error message.
-
getErrorIdentifier
protected Optional<String> getErrorIdentifier()
Returns an optional string identifier for this error.
-
getMessage
public String getMessage()
-
getCause
public Throwable getCause()
-
withSources
public abstract SelfT withSources(List<Object> newSources)
Returns a new instance of the sameErrorDetailwith updated sources.
-
-