JSpiderEvent.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:3k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.api.event;
  2. import java.util.Date;
  3. /**
  4.  * Base class of all JSpider API events.  All events that will be dispatched
  5.  * towards JSpider modules will extends directly or indirectly from this
  6.  * class.
  7.  *
  8.  * $Id: JSpiderEvent.java,v 1.5 2003/03/23 15:44:48 vanrogu Exp $
  9.  *
  10.  * @author  G黱ther Van Roey
  11.  */
  12. public abstract class JSpiderEvent implements EventVisitable {
  13.     public static final String EVENT_PACKAGE = "net.javacoding.jspider.api.event.";
  14.     /** Event type used for events related to the JSpider engine. */
  15.     public static final int EVENT_TYPE_ENGINE = 1;
  16.     /** Event type used for events related to monitoring. */
  17.     public static final int EVENT_TYPE_MONITORING = 2;
  18.     /** Event type used for real spider events. */
  19.     public static final int EVENT_TYPE_SPIDER = 3;
  20.     /** Timestamp of the event. */
  21.     protected Date date;
  22.     /**
  23.      * Public constructor.
  24.      */
  25.     public JSpiderEvent() {
  26.         date = new Date();
  27.     }
  28.     /**
  29.      * Returns the name of the event
  30.      * @return name of the event
  31.      */
  32.     public String getName() {
  33.         return getClass().getName().substring(EVENT_PACKAGE.length());
  34.     }
  35.     /**
  36.      * Returns a Date object containing the event's timestamp
  37.      * @return Date object containing the event's timestamp
  38.      */
  39.     public Date getRaisedDate() {
  40.         return date;
  41.     }
  42.     /**
  43.      * Returns optional comments on the event.
  44.      * @return comment on the event.
  45.      */
  46.     public abstract String getComment();
  47.     /**
  48.      * Returns whether this event describes some sort of error situation.
  49.      * @return boolean that is true if this event describes an error
  50.      */
  51.     public boolean isError ( ) {
  52.         return false;
  53.     }
  54.     /**
  55.      * Returns whether this event can be filtered out.  Only the most critical
  56.      * events will return FALSE.
  57.      * @return whether this event can be filtered out
  58.      */
  59.     public boolean isFilterable ( ) {
  60.         return true;
  61.     }
  62.     /**
  63.      * Returns the type of the event.
  64.      * @return the type of the Event - Engine / Monitoring / Spider
  65.      */
  66.     public int getType ( ) {
  67.       // By default, it will be a normal spider event.
  68.       return JSpiderEvent.EVENT_TYPE_SPIDER;
  69.     }
  70.     /**
  71.      * Accept method for the Visitor-pattern that's used for handling events.
  72.      * @param visitor the visitor instance that wants to visit the event
  73.      */
  74.     public void accept(EventVisitor visitor) {
  75.         visitor.visit(this);
  76.     }
  77.     /**
  78.      * Object's overridden toString() method.
  79.      * @return String representation of the event
  80.      */
  81.     public String toString() {
  82.         return this.getClass().getName();
  83.     }
  84. }