1   /************************************************************
2   *                     Copyright                            *
3   * Portions of this software are Copyright (c) 1993 - 2002, *
4   * Chad Z. Hower (Kudzu) and the Indy Pit Crew              *
5   *  - http://www.nevrona.com/Indy/                          *
6   ************************************************************/
7   package org.indy;
8   
9   import java.text.MessageFormat;
10  
11  import java.util.EventObject;
12  
13  
14  /***
15   * Represents a state change in an {@link IndyComponent}.
16   */
17  public class IndyStatusEvent extends EventObject {
18    private final Status status;
19    private String cacheString;
20    private final Object[] args;
21  
22    /***
23     * Constructs a new <code>IndyStatusEvent</code>.
24     *
25     * @param source The sender of the event
26     * @param s The new {@link Status}.
27     * @param args Any arguments to be included in a string representation of this event. May be <code>null</code>.
28     */
29    public IndyStatusEvent(IndyComponent source, Status s, Object[] args) {
30      super(source);
31      status = s;
32      this.args = args;
33    }
34  
35    /***
36     * Constructs a new <code>IndyStatusEvent</code>.
37     *
38     * This is the equivalent of
39     * <pre>
40     *   new IndyStatusEvent(source,s,null);
41     * </pre>
42     * @param source The source of this event
43     * @param s The new {@link Status}
44     */
45    public IndyStatusEvent(IndyComponent source, Status s) {
46      this(source, s, null);
47    }
48  
49    /***
50     * Returns the new {@link Status} of <code>source</code>.
51     *
52     * @return The new <code>Status</code> of the event source.
53     */
54    public Status getStatus() {
55      return status;
56    }
57  
58    /***
59     * Produces a string representation of this event, using the <code>args</code> it was
60     * constructed with, if avialable.
61     *
62     * @return A string representing this event.
63     */
64    public String toString() {
65      if (cacheString == null) {
66        if (args == null) {
67          cacheString = status.toString();
68        }
69        else {
70          cacheString = MessageFormat.format(status.toString(), args);
71        }
72      }
73  
74      return cacheString;
75    }
76  }
This page was automatically generated by Maven