org.oddjob.logging.cache
Class LazyArchiverCache

java.lang.Object
  extended by org.oddjob.logging.cache.AbstractArchiverCache
      extended by org.oddjob.logging.cache.LazyArchiverCache
All Implemented Interfaces:
LogArchiverCache

public class LazyArchiverCache
extends AbstractArchiverCache

A Cache for Log Events. This cache tracks changes to the structure of the component tree and adds and removes LogArchives.

Author:
Rob Gordon.

Constructor Summary
LazyArchiverCache(ArchiveNameResolver resolver)
          Construct a LogArchiver archiving message from the given root object and all it's children.
LazyArchiverCache(int maxHistory, ArchiveNameResolver resolver)
          Construct a LogArchiver archiving message from the given root object and all it's children with the given amount of history.
 
Method Summary
 void addLogListener(LogListener l, Object component, LogLevel level, long last, int history)
          Add a listener.
 void destroy()
           
 void removeLogListener(LogListener l, Object component)
          Remove a listener.
 
Methods inherited from class org.oddjob.logging.cache.AbstractArchiverCache
addArchive, addEvent, getLastMessageNumber, getMaxHistory, getResolver, hasArchive, hasArchiveFor, removeArchive
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LazyArchiverCache

public LazyArchiverCache(ArchiveNameResolver resolver)
Construct a LogArchiver archiving message from the given root object and all it's children.

Parameters:
root - The root object.
resolver - A reslover which resolves archive name, either locally or using a remote url.

LazyArchiverCache

public LazyArchiverCache(int maxHistory,
                         ArchiveNameResolver resolver)
Construct a LogArchiver archiving message from the given root object and all it's children with the given amount of history.

Parameters:
root - The root object.
maxHistory - The number of lines to store for each logger
resolver - A reslover which resolves archive name, either locally or using a remote url.
Method Detail

addLogListener

public void addLogListener(LogListener l,
                           Object component,
                           LogLevel level,
                           long last,
                           int history)
Description copied from class: AbstractArchiverCache
Add a listener.

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

removeLogListener

public void removeLogListener(LogListener l,
                              Object component)
Description copied from class: AbstractArchiverCache
Remove a listener.

Specified by:
removeLogListener in interface LogArchiverCache
Overrides:
removeLogListener in class AbstractArchiverCache
Parameters:
l - The listener.

destroy

public void destroy()
Specified by:
destroy in interface LogArchiverCache
Specified by:
destroy in class AbstractArchiverCache