Class 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 using addError() statements:
         try {
           bindPropertiesFromFile();
         } catch (IOException e) {
           addError(e);
         }
    See Also:
    Serialized Form
    • 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, or null 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 this Message with its sources replaced.
      private java.lang.Object writeReplace()
      When serialized, we convert the error detail to a GenericErrorDetail with string sources.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • 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 call toString() on the source object if the type is unfamiliar.

        Specified by:
        getSource in interface Element
      • 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 interface Element
        Parameters:
        visitor - to call back on
        Since:
        2.0
      • getCause

        public java.lang.Throwable getCause()
        Returns the throwable that caused this message, or null if this message was not caused by a throwable.
        Since:
        2.0
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • applyTo

        public void applyTo​(Binder binder)
        Description copied from interface: Element
        Writes this module element to the given binder (optional operation).
        Specified by:
        applyTo in interface Element
        Parameters:
        binder - to apply configuration element to
        Since:
        2.0
      • withSource

        public Message withSource​(java.util.List<java.lang.Object> newSources)
        Returns a copy of this Message 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 a GenericErrorDetail 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