Class FacesMessage

java.lang.Object
jakarta.faces.application.FacesMessage
All Implemented Interfaces:
Serializable

public class FacesMessage extends Object implements Serializable

FacesMessage represents a single validation (or other) message, which is typically associated with a particular component in the view. A FacesMessage instance may be created based on a specific messageId. The specification defines the set of messageIds for which there must be FacesMessage instances.

The implementation must take the following steps when creating FacesMessage instances given a messageId:

Call Application.getMessageBundle(). If non-null, locate the named ResourceBundle, using the Locale from the current UIViewRoot and see if it has a value for the argument messageId. If it does, treat the value as the summary of the FacesMessage. If it does not, or if Application.getMessageBundle() returned null, look in the ResourceBundle named by the value of the constant FACES_MESSAGES and see if it has a value for the argument messageId. If it does, treat the value as the summary of the FacesMessage. If it does not, there is no initialization information for the FacesMessage instance.

In all cases, if a ResourceBundle hit is found for the {messageId}, look for further hits under the key {messageId}_detail. Use this value, if present, as the detail for the returned FacesMessage.

Make sure to perform any parameter substitution required for the summary and detail of the FacesMessage.

See Also:
  • Field Details

    • FACES_MESSAGES

      public static final String FACES_MESSAGES

      ResourceBundle identifier for messages whose message identifiers are defined in the Jakarta Faces specification.

      See Also:
    • SEVERITY_INFO

      public static final FacesMessage.Severity SEVERITY_INFO

      Message severity level indicating an informational message rather than an error.

    • SEVERITY_WARN

      public static final FacesMessage.Severity SEVERITY_WARN

      Message severity level indicating that an error might have occurred.

    • SEVERITY_ERROR

      public static final FacesMessage.Severity SEVERITY_ERROR

      Message severity level indicating that an error has occurred.

    • SEVERITY_FATAL

      public static final FacesMessage.Severity SEVERITY_FATAL

      Message severity level indicating that a serious error has occurred.

    • VALUES

      public static final List<FacesMessage.Severity> VALUES

      Immutable List of valid FacesMessage.Severity instances, in ascending order of their ordinal value.

    • VALUES_MAP

      public static final Map<String,FacesMessage.Severity> VALUES_MAP

      Immutable Map of valid FacesMessage.Severity instances, keyed by name.

  • Constructor Details

    • FacesMessage

      public FacesMessage()

      Construct a new FacesMessage with no initial values. The severity is set to Severity.INFO.

    • FacesMessage

      public FacesMessage(String summary)

      Construct a new FacesMessage with just a summary. The detail is null, the severity is set to Severity.INFO.

      Parameters:
      summary - the summary.
    • FacesMessage

      public FacesMessage(String summary, String detail)

      Construct a new FacesMessage with the specified initial values. The severity is set to Severity.INFO.

      Parameters:
      summary - Localized summary message text
      detail - Localized detail message text
      Throws:
      IllegalArgumentException - if the specified severity level is not one of the supported values
    • FacesMessage

      public FacesMessage(FacesMessage.Severity severity, String summary, String detail)

      Construct a new FacesMessage with the specified initial values.

      Parameters:
      severity - the severity
      summary - Localized summary message text
      detail - Localized detail message text
      Throws:
      IllegalArgumentException - if the specified severity level is not one of the supported values
  • Method Details

    • getDetail

      public String getDetail()

      Return the localized detail text. If no localized detail text has been defined for this message, return the localized summary text instead.

      Returns:
      the localized detail text.
    • setDetail

      public void setDetail(String detail)

      Set the localized detail text.

      Parameters:
      detail - The new localized detail text
    • getSeverity

      public FacesMessage.Severity getSeverity()

      Return the severity level.

      Returns:
      the severity level.
    • setSeverity

      public void setSeverity(FacesMessage.Severity severity)

      Set the severity level.

      Parameters:
      severity - The new severity level
      Throws:
      IllegalArgumentException - if the specified severity level is not one of the supported values
    • getSummary

      public String getSummary()

      Return the localized summary text.

      Returns:
      the localized summary text.
    • setSummary

      public void setSummary(String summary)

      Set the localized summary text.

      Parameters:
      summary - The new localized summary text
    • isRendered

      public boolean isRendered()
      Returns:
      true if rendered() has been called, otherwise false
      Since:
      2.0
    • rendered

      public void rendered()

      Marks this message as having been rendered to the client.

      Since:
      2.0
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
      Since:
      4.1
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object
      Since:
      4.1
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Since:
      4.1