de.unkrig.commons.util.logging.handler
Class ProxyHandler

java.lang.Object
  extended by java.util.logging.Handler
      extended by de.unkrig.commons.util.logging.handler.ProxyHandler
Direct Known Subclasses:
EagerHandler

public class ProxyHandler
extends java.util.logging.Handler

A Handler that redirects all method calls to a delegate, which can be changed at runtime.


Constructor Summary
ProxyHandler()
          Constructs a proxy handler without a delegate.
ProxyHandler(java.util.logging.Handler delegate)
           
 
Method Summary
 void close()
           
 void flush()
           
 java.lang.String getEncoding()
           
 java.util.logging.ErrorManager getErrorManager()
           
 java.util.logging.Filter getFilter()
           
 java.util.logging.Formatter getFormatter()
           
 java.util.logging.Level getLevel()
           
 boolean isLoggable(java.util.logging.LogRecord record)
           
 void publish(java.util.logging.LogRecord record)
           
 void setDelegate(java.util.logging.Handler delegate)
          Changes the delegate handler.
 void setEncoding(java.lang.String encoding)
           
 void setErrorManager(java.util.logging.ErrorManager errorManager)
           
 void setFilter(java.util.logging.Filter newFilter)
           
 void setFormatter(java.util.logging.Formatter formatter)
           
 void setLevel(java.util.logging.Level level)
           
 
Methods inherited from class java.util.logging.Handler
reportError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProxyHandler

public ProxyHandler()
Constructs a proxy handler without a delegate.


ProxyHandler

public ProxyHandler(@Nullable
                    java.util.logging.Handler delegate)
Parameters:
delegate - null if a delegate is not (yet) desired
Method Detail

setDelegate

public void setDelegate(@Nullable
                        java.util.logging.Handler delegate)
Changes the delegate handler.

Parameters:
delegate - null if a delegate is no longer desired

getFormatter

public java.util.logging.Formatter getFormatter()
Overrides:
getFormatter in class java.util.logging.Handler

getEncoding

public java.lang.String getEncoding()
Overrides:
getEncoding in class java.util.logging.Handler

getFilter

public java.util.logging.Filter getFilter()
Overrides:
getFilter in class java.util.logging.Handler

getErrorManager

public java.util.logging.ErrorManager getErrorManager()
Overrides:
getErrorManager in class java.util.logging.Handler

getLevel

public java.util.logging.Level getLevel()
Overrides:
getLevel in class java.util.logging.Handler

setFormatter

public void setFormatter(java.util.logging.Formatter formatter)
                  throws java.lang.SecurityException
Overrides:
setFormatter in class java.util.logging.Handler
Throws:
java.lang.SecurityException

setEncoding

public void setEncoding(java.lang.String encoding)
                 throws java.lang.SecurityException,
                        java.io.UnsupportedEncodingException
Overrides:
setEncoding in class java.util.logging.Handler
Throws:
java.lang.SecurityException
java.io.UnsupportedEncodingException

setFilter

public void setFilter(java.util.logging.Filter newFilter)
               throws java.lang.SecurityException
Overrides:
setFilter in class java.util.logging.Handler
Throws:
java.lang.SecurityException

setErrorManager

public void setErrorManager(java.util.logging.ErrorManager errorManager)
Overrides:
setErrorManager in class java.util.logging.Handler

setLevel

public void setLevel(java.util.logging.Level level)
              throws java.lang.SecurityException
Overrides:
setLevel in class java.util.logging.Handler
Throws:
java.lang.SecurityException

isLoggable

public boolean isLoggable(java.util.logging.LogRecord record)
Overrides:
isLoggable in class java.util.logging.Handler

publish

public void publish(java.util.logging.LogRecord record)
Specified by:
publish in class java.util.logging.Handler

flush

public void flush()
Specified by:
flush in class java.util.logging.Handler

close

public void close()
           throws java.lang.SecurityException
Specified by:
close in class java.util.logging.Handler
Throws:
java.lang.SecurityException