edu.rice.cs.plt.debug
Class AssertEmptyLogSink

java.lang.Object
  extended by edu.rice.cs.plt.debug.TextLogSink
      extended by edu.rice.cs.plt.debug.AssertEmptyLogSink
All Implemented Interfaces:
LogSink, java.io.Closeable

public final class AssertEmptyLogSink
extends TextLogSink

A log sink that triggers an assertion failure whenever it is written to. (If assertions are disabled, no failures will occur, and this degenerates into a slightly more-expensive VoidLog.)


Nested Class Summary
 
Nested classes/interfaces inherited from interface edu.rice.cs.plt.debug.LogSink
LogSink.EndMessage, LogSink.ErrorMessage, LogSink.Message, LogSink.MessageVisitor<T>, LogSink.StackMessage, LogSink.StandardMessage, LogSink.StartMessage, LogSink.ValueMessage
 
Field Summary
static AssertEmptyLogSink INSTANCE
           
 
Method Summary
 void close()
           
protected  void write(LogSink.Message m, SizedIterable<java.lang.String> text)
          Record the given message, the body of which is described by the given lines of text.
protected  void writeEnd(LogSink.EndMessage m, SizedIterable<java.lang.String> text)
          Record the given end message, the body of which is described by the given lines of text.
protected  void writeStart(LogSink.StartMessage m, SizedIterable<java.lang.String> text)
          Record the given start message, the body of which is described by the given lines of text.
 
Methods inherited from class edu.rice.cs.plt.debug.TextLogSink
formatLocation, formatLocation, formatThread, formatTime, log, logEnd, logError, logStack, logStart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final AssertEmptyLogSink INSTANCE
Method Detail

close

public void close()

write

protected void write(LogSink.Message m,
                     SizedIterable<java.lang.String> text)
Description copied from class: TextLogSink
Record the given message, the body of which is described by the given lines of text. Subclasses should ensure that the effects of this method appear to be atomic (at least within the context of concurrent invocations of this method). This can be trivially achieved by declaring the method synchronized.

Specified by:
write in class TextLogSink

writeStart

protected void writeStart(LogSink.StartMessage m,
                          SizedIterable<java.lang.String> text)
Description copied from class: TextLogSink
Record the given start message, the body of which is described by the given lines of text. Subclasses should ensure that the effects of this method appear to be atomic (at least within the context of concurrent invocations of this method). This can be trivially achieved by declaring the method synchronized.

Specified by:
writeStart in class TextLogSink

writeEnd

protected void writeEnd(LogSink.EndMessage m,
                        SizedIterable<java.lang.String> text)
Description copied from class: TextLogSink
Record the given end message, the body of which is described by the given lines of text. Subclasses should ensure that the effects of this method appear to be atomic (at least within the context of concurrent invocations of this method). This can be trivially achieved by declaring the method synchronized.

Specified by:
writeEnd in class TextLogSink