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 protected
ErrorDetail(String message, List<Object> sources, Throwable cause)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
void
format(int index, List<ErrorDetail<?>> mergeableErrors, Formatter formatter)
Formats this error along with other errors that are mergeable with this error.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.Throwable
getCause()
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.String
getMessage()
List<Object>
getSources()
int
hashCode()
boolean
isMergeable(ErrorDetail<?> otherError)
Returns true if this error can be merged with theotherError
and formatted together.abstract SelfT
withSources(List<Object> newSources)
Returns a new instance of the sameErrorDetail
with updated sources.
-
-
-
Method Detail
-
isMergeable
public boolean isMergeable(ErrorDetail<?> otherError)
Returns true if this error can be merged with theotherError
and 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.mergeableErrors
is 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)
.mergeableErrors
is 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 sameErrorDetail
with updated sources.
-
-