Defines usage event instrumentation points and provides implementations for testing.

This package makes usage instrumentation (for statistics, or whatever else you may fancy) pluggable, while avoiding any unnecessary assumptions about how usage events may be transmitted, persisted, or processed.

At appropriate points in the processing of user actions, events may be assembled and "fired". What happens when an event is fired is configurable via the PluginService. One must configure a plugin for the AbstractUsageEvent class, defined in this package, to select an event processing implementation.

Several "stock" implementations are provided.

{@link org.dspace.usage.PassiveUsageEventListener PassiveUsageEventListener}
  absorbs events without taking action, resulting in behavior identical to that of DSpace before this package was added. This is the default if no plugin is configured.
{@link org.dspace.usage.TabFileUsageEventListener TabFileUsageEventListener}
  writes event records to a file in Tab Separated Values format.
{@link org.dspace.usage.LoggerUsageEventListener LoggerUsageEventListener}
  writes event records to the Java logger.
{@link org.dspace.statistics.SolrLoggerUsageEventListener SolrLoggerUsageEventListener}
  writes event records to Solr.
{@link org.dspace.google.GoogleRecorderEventListener GoogleRecorderEventListener}<.dt>
  writes event records to Google Analytics.