Package com.google.inject.spi
Class Message
- java.lang.Object
-
- com.google.inject.spi.Message
-
- All Implemented Interfaces:
Element
,java.io.Serializable
public final class Message extends java.lang.Object implements java.io.Serializable, Element
An error message and the context in which it occured. Messages are usually created internally by Guice and its extensions. Messages can be created explicitly in a module usingaddError()
statements:try { bindPropertiesFromFile(); } catch (IOException e) { addError(e); }
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private ErrorDetail<?>
errorDetail
private ErrorId
errorId
private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description private
Message(ErrorId errorId, ErrorDetail<?> errorDetail)
Message(ErrorId errorId, java.util.List<java.lang.Object> sources, java.lang.String message, java.lang.Throwable cause)
Message(GuiceInternal internalOnly, ErrorId errorId, ErrorDetail<?> errorDetail)
Message(java.lang.Object source, java.lang.String message)
Message(java.lang.String message)
Message(java.lang.String message, java.lang.Throwable cause)
Message(java.util.List<java.lang.Object> sources, java.lang.String message, java.lang.Throwable cause)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
acceptVisitor(ElementVisitor<T> visitor)
Accepts an element visitor.void
applyTo(Binder binder)
Writes this module element to the given binder (optional operation).boolean
equals(java.lang.Object o)
java.lang.Throwable
getCause()
Returns the throwable that caused this message, ornull
if this message was not caused by a throwable.ErrorDetail<?>
getErrorDetail()
Returns details about this error message.java.lang.String
getMessage()
Gets the error message text.java.lang.String
getSource()
Returns an arbitrary object containing information about the "place" where this element was configured.java.util.List<java.lang.Object>
getSources()
int
hashCode()
java.lang.String
toString()
Message
withSource(java.util.List<java.lang.Object> newSources)
Returns a copy of thisMessage
with its sources replaced.private java.lang.Object
writeReplace()
When serialized, we convert the error detail to aGenericErrorDetail
with string sources.
-
-
-
Field Detail
-
errorId
private final ErrorId errorId
-
errorDetail
private final ErrorDetail<?> errorDetail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Message
public Message(GuiceInternal internalOnly, ErrorId errorId, ErrorDetail<?> errorDetail)
- Since:
- 5.0
-
Message
private Message(ErrorId errorId, ErrorDetail<?> errorDetail)
-
Message
public Message(ErrorId errorId, java.util.List<java.lang.Object> sources, java.lang.String message, java.lang.Throwable cause)
- Since:
- 2.0
-
Message
public Message(java.util.List<java.lang.Object> sources, java.lang.String message, java.lang.Throwable cause)
- Since:
- 2.0
-
Message
public Message(java.lang.String message, java.lang.Throwable cause)
- Since:
- 4.0
-
Message
public Message(java.lang.Object source, java.lang.String message)
-
Message
public Message(java.lang.String message)
-
-
Method Detail
-
getErrorDetail
public ErrorDetail<?> getErrorDetail()
Returns details about this error message.- Since:
- 5.0
-
getSource
public java.lang.String getSource()
Description copied from interface:Element
Returns an arbitrary object containing information about the "place" where this element was configured. Used by Guice in the production of descriptive error messages.Tools might specially handle types they know about;
StackTraceElement
is a good example. Tools should simply calltoString()
on the source object if the type is unfamiliar.
-
getSources
public java.util.List<java.lang.Object> getSources()
- Since:
- 2.0
-
getMessage
public java.lang.String getMessage()
Gets the error message text.
-
acceptVisitor
public <T> T acceptVisitor(ElementVisitor<T> visitor)
Description copied from interface:Element
Accepts an element visitor. Invokes the visitor method specific to this element's type.- Specified by:
acceptVisitor
in interfaceElement
- Parameters:
visitor
- to call back on- Since:
- 2.0
-
getCause
public java.lang.Throwable getCause()
Returns the throwable that caused this message, ornull
if this message was not caused by a throwable.- Since:
- 2.0
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
applyTo
public void applyTo(Binder binder)
Description copied from interface:Element
Writes this module element to the given binder (optional operation).
-
withSource
public Message withSource(java.util.List<java.lang.Object> newSources)
Returns a copy of thisMessage
with its sources replaced.- Since:
- 5.0
-
writeReplace
private java.lang.Object writeReplace() throws java.io.ObjectStreamException
When serialized, we convert the error detail to aGenericErrorDetail
with string sources. This hurts our formatting, but it guarantees that the receiving end will be able to read the message.- Throws:
java.io.ObjectStreamException
-
-