org.aspectj.bridge
Class MessageWriter

java.lang.Object
  extended by org.aspectj.bridge.MessageWriter
All Implemented Interfaces:
IMessageHandler
Direct Known Subclasses:
WeavingAdaptor.WeavingAdaptorMessageWriter

public class MessageWriter
extends java.lang.Object
implements IMessageHandler

An IMessageHandler implementation that writes all to a PrintWriter. Clients may set this up to throw AbortException for FAIL or ERROR messages. Subclasses may control whether messages are printed and how they are rendered by overriding render(IMessage).


Field Summary
protected  boolean abortOnFailure
           
protected  java.io.PrintWriter writer
           
 
Fields inherited from interface org.aspectj.bridge.IMessageHandler
SYSTEM_ERR, SYSTEM_OUT, THROW
 
Constructor Summary
MessageWriter(java.io.PrintWriter writer, boolean abortOnFailure)
           
 
Method Summary
 void dontIgnore(IMessage.Kind kind)
          No-op
 boolean handleMessage(IMessage message)
          Handle message by printing and (if abortOnFailure) throwing an AbortException if the messages is a failure or an abort (but not for errors).
 void ignore(IMessage.Kind kind)
          No-op
 boolean isIgnoring(IMessage.Kind kind)
          Signal clients whether this will ignore messages of a given type.
protected  java.lang.String render(IMessage message)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

writer

protected java.io.PrintWriter writer

abortOnFailure

protected boolean abortOnFailure
Constructor Detail

MessageWriter

public MessageWriter(java.io.PrintWriter writer,
                     boolean abortOnFailure)
Method Detail

handleMessage

public boolean handleMessage(IMessage message)
                      throws AbortException
Handle message by printing and (if abortOnFailure) throwing an AbortException if the messages is a failure or an abort (but not for errors).

Specified by:
handleMessage in interface IMessageHandler
Parameters:
message - the IMessage to handle - never null
Returns:
true if this message was handled by this handler
Throws:
AbortException - depending on handler logic.
See Also:
IMessageHandler.handleMessage(IMessage)

isIgnoring

public boolean isIgnoring(IMessage.Kind kind)
Description copied from interface: IMessageHandler
Signal clients whether this will ignore messages of a given type. Clients may use this to avoid constructing or sending certain messages.

Specified by:
isIgnoring in interface IMessageHandler
Returns:
true if this handler is ignoring all messages of this type
See Also:
IMessageHandler.isIgnoring(org.aspectj.bridge.IMessage.Kind)

dontIgnore

public void dontIgnore(IMessage.Kind kind)
No-op

Specified by:
dontIgnore in interface IMessageHandler
Parameters:
kind -
See Also:
IMessageHandler.isIgnoring(org.aspectj.bridge.IMessage.Kind)

ignore

public void ignore(IMessage.Kind kind)
No-op

Specified by:
ignore in interface IMessageHandler
Parameters:
kind -
See Also:
IMessageHandler.ignore(org.aspectj.bridge.IMessage.Kind)

render

protected java.lang.String render(IMessage message)
Returns:
null to not print, or message rendering (including newlines)