Class ActionMessages

java.lang.Object
org.apache.struts.action.ActionMessages
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ActionErrors

public class ActionMessages extends Object implements Serializable

A class that encapsulates messages. Messages can be either global or they are specific to a particular bean property.

Each individual message is described by an ActionMessage object, which contains a message key (to be looked up in an appropriate message resources database), and up to four placeholder arguments used for parametric substitution in the resulting message.

IMPLEMENTATION NOTE - It is assumed that these objects are created and manipulated only within the context of a single thread. Therefore, no synchronization is required for access to internal collections.

Since:
Struts 1.1
Version:
$Rev$ $Date: 2005-08-26 21:58:39 -0400 (Fri, 26 Aug 2005) $
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    This class is used to store a set of messages associated with a property/key and the position it was initially added to list.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
    Have the messages been retrieved from this object?
    static final String
    The "property name" marker to use for global messages, as opposed to those related to a specific property.
    protected int
    The current number of the property/key being added.
    The accumulated set of ActionMessage objects (represented as an ArrayList) for each property, keyed by property name.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create an empty ActionMessages object.
    Create an ActionMessages object initialized with the given messages.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(String property, ActionMessage message)
    Add a message to the set of messages for the specified property.
    void
    add(ActionMessages actionMessages)
    Adds the messages from the given ActionMessages object to this set of messages.
    void
    Clear all messages recorded by this object.
    get()
    Return the set of all recorded messages, without distinction by which property the messages are associated with.
    get(String property)
    Return the set of messages related to a specific property.
    boolean
    Returns true if the get() or get(String) methods are called.
    boolean
    Return true if there are no messages recorded in this collection, or false otherwise.
    Return the set of property names for which at least one message has been recorded.
    int
    Return the number of messages recorded for all properties (including global messages).
    int
    size(String property)
    Return the number of messages associated with the specified property.
    Returns a String representation of this ActionMessages' property name=message list mapping.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • GLOBAL_MESSAGE

      public static final String GLOBAL_MESSAGE

      The "property name" marker to use for global messages, as opposed to those related to a specific property.

      See Also:
    • accessed

      protected boolean accessed

      Have the messages been retrieved from this object?

      The controller uses this property to determine if session-scoped messages can be removed.

      Since:
      Struts 1.2
    • messages

      The accumulated set of ActionMessage objects (represented as an ArrayList) for each property, keyed by property name.

    • iCount

      protected int iCount

      The current number of the property/key being added. This is used to maintain the order messages are added.

  • Constructor Details

    • ActionMessages

      public ActionMessages()

      Create an empty ActionMessages object.

    • ActionMessages

      public ActionMessages(ActionMessages messages)

      Create an ActionMessages object initialized with the given messages.

      Parameters:
      messages - The messages to be initially added to this object. This parameter can be null.
      Since:
      Struts 1.1
  • Method Details

    • add

      public void add(String property, ActionMessage message)

      Add a message to the set of messages for the specified property. An order of the property/key is maintained based on the initial addition of the property/key.

      Parameters:
      property - Property name (or ActionMessages.GLOBAL_MESSAGE)
      message - The message to be added
    • add

      public void add(ActionMessages actionMessages)

      Adds the messages from the given ActionMessages object to this set of messages. The messages are added in the order they are returned from the properties method. If a message's property is already in the current ActionMessages object, it is added to the end of the list for that property. If a message's property is not in the current list it is added to the end of the properties.

      Parameters:
      actionMessages - The ActionMessages object to be added. This parameter can be null.
      Since:
      Struts 1.1
    • clear

      public void clear()

      Clear all messages recorded by this object.

    • isEmpty

      public boolean isEmpty()

      Return true if there are no messages recorded in this collection, or false otherwise.

      Returns:
      true if there are no messages recorded in this collection; false otherwise.
      Since:
      Struts 1.1
    • get

      public Iterator<ActionMessage> get()

      Return the set of all recorded messages, without distinction by which property the messages are associated with. If there are no messages recorded, an empty enumeration is returned.

      Returns:
      An iterator over the messages for all properties.
    • get

      public Iterator<ActionMessage> get(String property)

      Return the set of messages related to a specific property. If there are no such messages, an empty enumeration is returned.

      Parameters:
      property - Property name (or ActionMessages.GLOBAL_MESSAGE)
      Returns:
      An iterator over the messages for the specified property.
    • isAccessed

      public boolean isAccessed()

      Returns true if the get() or get(String) methods are called.

      Returns:
      true if the messages have been accessed one or more times.
      Since:
      Struts 1.2
    • properties

      public Iterator<String> properties()

      Return the set of property names for which at least one message has been recorded. If there are no messages, an empty Iterator is returned. If you have recorded global messages, the String value of ActionMessages.GLOBAL_MESSAGE will be one of the returned property names.

      Returns:
      An iterator over the property names for which messages exist.
    • size

      public int size()

      Return the number of messages recorded for all properties (including global messages). NOTE - it is more efficient to call isEmpty if all you care about is whether or not there are any messages at all.

      Returns:
      The number of messages associated with all properties.
    • size

      public int size(String property)

      Return the number of messages associated with the specified property.

      Parameters:
      property - Property name (or ActionMessages.GLOBAL_MESSAGE)
      Returns:
      The number of messages associated with the property.
    • toString

      public String toString()

      Returns a String representation of this ActionMessages' property name=message list mapping.

      Overrides:
      toString in class Object
      Returns:
      String representation of the messages
      See Also: