StatusEvent.java
上传用户:huihesys
上传日期:2007-01-04
资源大小:3877k
文件大小:3k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. /*
  2.  * StatusEvent.java
  3.  * Copyright (C) 1999 dog <dog@dog.net.uk>
  4.  * 
  5.  * This library is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU Lesser General Public
  7.  * License as published by the Free Software Foundation; either
  8.  * version 2 of the License, or (at your option) any later version.
  9.  * 
  10.  * This library is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * Lesser General Public License for more details.
  14.  * 
  15.  * You should have received a copy of the GNU Lesser General Public
  16.  * License along with this library; if not, write to the Free Software
  17.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18.  * 
  19.  * You may retrieve the latest version of this library from
  20.  * http://www.dog.net.uk/knife/
  21.  */
  22. package dog.util;
  23. import java.util.*;
  24. /**
  25.  * A status message.
  26.  *
  27.  * @author dog@dog.net.uk
  28.  * @version 1.0
  29.  */
  30. public class StatusEvent extends EventObject {
  31. public static final int OPERATION_START = 0;
  32. public static final int OPERATION_UPDATE = 1;
  33. public static final int OPERATION_END = 2;
  34. public static final int UNKNOWN = -1;
  35. protected int type;
  36. protected String operation;
  37. protected int minimum = UNKNOWN;
  38. protected int maximum = UNKNOWN;
  39. protected int value = UNKNOWN;
  40. /**
  41.  * Creates a new status event with the specified type and operation.
  42.  */
  43. public StatusEvent(Object source, int type, String operation) {
  44. super(source);
  45. switch (type) {
  46.   case OPERATION_START:
  47.   case OPERATION_UPDATE:
  48.   case OPERATION_END:
  49. this.type = type;
  50. break;
  51.   default:
  52. throw new IllegalArgumentException("Illegal event type: "+type);
  53. }
  54. this.operation = operation;
  55. }
  56. /**
  57.  * Creates a new status event representing an update of the specified operation.
  58.  */
  59. public StatusEvent(Object source, int type, String operation, int minimum, int maximum, int value) {
  60. super(source);
  61. switch (type) {
  62.   case OPERATION_START:
  63.   case OPERATION_UPDATE:
  64.   case OPERATION_END:
  65. this.type = type;
  66. break;
  67.   default:
  68. throw new IllegalArgumentException("Illegal event type: "+type);
  69. }
  70. this.operation = operation;
  71. this.minimum = minimum;
  72. this.maximum = maximum;
  73. this.value = value;
  74. }
  75. /**
  76.  * Returns the type of event (OPERATION_START, OPERATION_UPDATE, or OPERATION_END).
  77.  */
  78. public int getType() { return type; }
  79. /**
  80.  * Returns a string describing the operation being performed.
  81.  */
  82. public String getOperation() { return operation; }
  83. /**
  84.  * Returns the start point of the operation.
  85.  */
  86. public int getMinimum() { return minimum; }
  87. /**
  88.  * Returns the end point of the operation.
  89.  */
  90. public int getMaximum() { return maximum; }
  91. /**
  92.  * Returns the current point in the operation.
  93.  */
  94. public int getValue() { return value; }
  95. }