edu.sc.seis.sod.source.event

## Class SimpleEventSource

- java.lang.Object
- - edu.sc.seis.sod.source.AbstractSource
  - - edu.sc.seis.sod.source.event.SimpleEventSource

- All Implemented Interfaces:
    EventSource, Source
  Direct Known Subclasses:
    CSVEventSource

      public abstract class SimpleEventSource
      extends AbstractSource
      implements EventSource

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `hasNextBeenCalled`

    - ### Fields inherited from class edu.sc.seis.sod.source.AbstractSource

      `name, NAME_ELEMENT, RETRIES_ELEMENT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleEventSource(org.w3c.dom.Element config, java.lang.String defaultName)`
    `SimpleEventSource(org.w3c.dom.Element config, java.lang.String defaultName, int defaultRetries)`
    `SimpleEventSource(java.lang.String name)`
    `SimpleEventSource(java.lang.String name, int retries)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `edu.iris.Fissures.model.MicroSecondDate` | `extractBeginTime(edu.sc.seis.fissuresUtil.cache.CacheEvent ev)`
    `abstract edu.sc.seis.fissuresUtil.cache.CacheEvent[]` | `getEvents()`
    `edu.sc.seis.fissuresUtil.time.MicroSecondTimeRange` | `getEventTimeRange()`
    `edu.iris.Fissures.model.TimeInterval` | `getWaitBeforeNext()` If the source needs to wait for more events to arrive, it should return the amount of time it wants to wait with this method.
    `boolean` | `hasNext()`
    `edu.sc.seis.fissuresUtil.cache.CacheEvent[]` | `next()`

    - ### Methods inherited from class edu.sc.seis.sod.source.AbstractSource

      `appendToName, getFissuresNamingService, getName, getRetries, getRetryStrategy, setRetryStrategy`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface edu.sc.seis.sod.source.event.EventSource

      `getDescription`

    - ### Methods inherited from interface edu.sc.seis.sod.source.Source

      `appendToName, getName, getRetries`

- - ### Field Detail

    - #### hasNextBeenCalled

          public boolean hasNextBeenCalled

  - ### Constructor Detail

    - #### SimpleEventSource

          public SimpleEventSource(org.w3c.dom.Element config,
                                   java.lang.String defaultName,
                                   int defaultRetries)

    - #### SimpleEventSource

          public SimpleEventSource(org.w3c.dom.Element config,
                                   java.lang.String defaultName)

    - #### SimpleEventSource

          public SimpleEventSource(java.lang.String name,
                                   int retries)

    - #### SimpleEventSource

          public SimpleEventSource(java.lang.String name)

  - ### Method Detail

    - #### getEvents

          public abstract edu.sc.seis.fissuresUtil.cache.CacheEvent[] getEvents()

    - #### hasNext

          public boolean hasNext()

      Specified by:
        `hasNext` in interface `EventSource`
      Returns:
        - false when this event source will return no new events from calls to next

    - #### next

          public edu.sc.seis.fissuresUtil.cache.CacheEvent[] next()

      Specified by:
        `next` in interface `EventSource`
      Returns:
        - the next set of events. Events can be returned from this method multiple times

    - #### getWaitBeforeNext

          public edu.iris.Fissures.model.TimeInterval getWaitBeforeNext()

      Description copied from interface: `EventSource`
      If the source needs to wait for more events to arrive, it should return the amount of time it wants to wait with this method.
      Specified by:
        `getWaitBeforeNext` in interface `EventSource`

    - #### getEventTimeRange

          public edu.sc.seis.fissuresUtil.time.MicroSecondTimeRange getEventTimeRange()

      Specified by:
        `getEventTimeRange` in interface `EventSource`
      Returns:
        - a MicroSecondTimeRange starting at least as early as the earliest event and ending at least as late as the latest event. No event should be returned by this source with an origin before the begin time or after the end time of this range.

    - #### extractBeginTime

          public edu.iris.Fissures.model.MicroSecondDate extractBeginTime(edu.sc.seis.fissuresUtil.cache.CacheEvent ev)