Class DefaultMessageSourceResolvable

java.lang.Object
org.springframework.context.support.DefaultMessageSourceResolvable
All Implemented Interfaces:
Serializable, MessageSourceResolvable
Direct Known Subclasses:
ObjectError

public class DefaultMessageSourceResolvable extends Object implements MessageSourceResolvable, Serializable
Spring's default implementation of the MessageSourceResolvable interface. Offers an easy way to store all the necessary values needed to resolve a message via a MessageSource.
Since:
13.02.2004
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • DefaultMessageSourceResolvable

      public DefaultMessageSourceResolvable(String code)
      Create a new DefaultMessageSourceResolvable.
      Parameters:
      code - the code to be used to resolve this message
    • DefaultMessageSourceResolvable

      public DefaultMessageSourceResolvable(String[] codes)
      Create a new DefaultMessageSourceResolvable.
      Parameters:
      codes - the codes to be used to resolve this message
    • DefaultMessageSourceResolvable

      public DefaultMessageSourceResolvable(String[] codes, String defaultMessage)
      Create a new DefaultMessageSourceResolvable.
      Parameters:
      codes - the codes to be used to resolve this message
      defaultMessage - the default message to be used to resolve this message
    • DefaultMessageSourceResolvable

      public DefaultMessageSourceResolvable(String[] codes, Object[] arguments)
      Create a new DefaultMessageSourceResolvable.
      Parameters:
      codes - the codes to be used to resolve this message
      arguments - the array of arguments to be used to resolve this message
    • DefaultMessageSourceResolvable

      public DefaultMessageSourceResolvable(@Nullable String[] codes, @Nullable Object[] arguments, @Nullable String defaultMessage)
      Create a new DefaultMessageSourceResolvable.
      Parameters:
      codes - the codes to be used to resolve this message
      arguments - the array of arguments to be used to resolve this message
      defaultMessage - the default message to be used to resolve this message
    • DefaultMessageSourceResolvable

      public DefaultMessageSourceResolvable(MessageSourceResolvable resolvable)
      Copy constructor: Create a new instance from another resolvable.
      Parameters:
      resolvable - the resolvable to copy from
  • Method Details

    • getCode

      @Nullable public String getCode()
      Return the default code of this resolvable, that is, the last one in the codes array.
    • getCodes

      @Nullable public String[] getCodes()
      Description copied from interface: MessageSourceResolvable
      Return the codes to be used to resolve this message, in the order that they should get tried. The last code will therefore be the default one.
      Specified by:
      getCodes in interface MessageSourceResolvable
      Returns:
      a String array of codes which are associated with this message
    • getArguments

      @Nullable public Object[] getArguments()
      Description copied from interface: MessageSourceResolvable
      Return the array of arguments to be used to resolve this message.

      The default implementation simply returns null.

      Specified by:
      getArguments in interface MessageSourceResolvable
      Returns:
      an array of objects to be used as parameters to replace placeholders within the message text
      See Also:
    • getDefaultMessage

      @Nullable public String getDefaultMessage()
      Description copied from interface: MessageSourceResolvable
      Return the default message to be used to resolve this message.

      The default implementation simply returns null. Note that the default message may be identical to the primary message code (MessageSourceResolvable.getCodes()), which effectively enforces AbstractMessageSource.setUseCodeAsDefaultMessage(boolean) for this particular message.

      Specified by:
      getDefaultMessage in interface MessageSourceResolvable
      Returns:
      the default message, or null if no default
    • shouldRenderDefaultMessage

      public boolean shouldRenderDefaultMessage()
      Indicate whether the specified default message needs to be rendered for substituting placeholders and/or MessageFormat escaping.
      Returns:
      true if the default message may contain argument placeholders; false if it definitely does not contain placeholders or custom escaping and can therefore be simply exposed as-is
      Since:
      5.1.7
      See Also:
    • resolvableToString

      protected final String resolvableToString()
      Build a default String representation for this MessageSourceResolvable: including codes, arguments, and default message.
    • toString

      public String toString()
      The default implementation exposes the attributes of this MessageSourceResolvable.

      To be overridden in more specific subclasses, potentially including the resolvable content through resolvableToString().

      Overrides:
      toString in class Object
      See Also:
    • equals

      public boolean equals(@Nullable Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object