org.oddjob.logging.cache
Class AbstractArchiverCache

java.lang.Object
  extended by org.oddjob.logging.cache.AbstractArchiverCache
All Implemented Interfaces:
LogArchiverCache
Direct Known Subclasses:
LazyArchiverCache, StructuralArchiverCache

public abstract class AbstractArchiverCache
extends Object
implements LogArchiverCache

An base implementation of a Cache for LogEvents.

Author:
Rob Gordon

Constructor Summary
AbstractArchiverCache(ArchiveNameResolver resolver)
          Default constructor.
AbstractArchiverCache(ArchiveNameResolver resolver, int maxHistory)
          Construct a LogArchiver with the given amount of history.
 
Method Summary
protected  void addArchive(Object component)
          Add an archive this Log Archiver.
 void addEvent(String archive, LogLevel level, String message)
          Add an event to the cache.
 void addLogListener(LogListener l, Object component, LogLevel level, long last, int history)
          Add a listener.
abstract  void destroy()
           
 long getLastMessageNumber(String archive)
           
 int getMaxHistory()
           
protected  ArchiveNameResolver getResolver()
           
 boolean hasArchive(String archive)
          Does this Archiver contain the given archive.
protected  boolean hasArchiveFor(Object component)
           
protected  void removeArchive(Object component)
          Remove an archive from this LogArchive.
 void removeLogListener(LogListener l, Object component)
          Remove a listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractArchiverCache

public AbstractArchiverCache(ArchiveNameResolver resolver)
Default constructor.


AbstractArchiverCache

public AbstractArchiverCache(ArchiveNameResolver resolver,
                             int maxHistory)
Construct a LogArchiver with the given amount of history.

Parameters:
maxHistory - The number of lines to store for each logger
Method Detail

getMaxHistory

public int getMaxHistory()
Specified by:
getMaxHistory in interface LogArchiverCache

getLastMessageNumber

public long getLastMessageNumber(String archive)
Specified by:
getLastMessageNumber in interface LogArchiverCache

addLogListener

public void addLogListener(LogListener l,
                           Object component,
                           LogLevel level,
                           long last,
                           int history)
Add a listener.

Specified by:
addLogListener in interface LogArchiverCache
Parameters:
l - The listener
archive - The component
level - The level
last - The last message number.
history - The max messages required.

removeLogListener

public void removeLogListener(LogListener l,
                              Object component)
Remove a listener.

Specified by:
removeLogListener in interface LogArchiverCache
Parameters:
l - The listener.
archive - The archive.

hasArchive

public boolean hasArchive(String archive)
Does this Archiver contain the given archive.

Specified by:
hasArchive in interface LogArchiverCache
Parameters:
archive - The archive.
Returns:
true if it does, false if it doesn't.

hasArchiveFor

protected boolean hasArchiveFor(Object component)

getResolver

protected ArchiveNameResolver getResolver()

addArchive

protected void addArchive(Object component)
Add an archive this Log Archiver.

Parameters:
archive - The archive name.

removeArchive

protected void removeArchive(Object component)
Remove an archive from this LogArchive.

Parameters:
archive -

addEvent

public void addEvent(String archive,
                     LogLevel level,
                     String message)
Add an event to the cache.

Specified by:
addEvent in interface LogArchiverCache
Parameters:
archive - The archive.
level - The level.
message - The message.

destroy

public abstract void destroy()
Specified by:
destroy in interface LogArchiverCache