org.aspectj.bridge
Interface IMessageHandler

All Known Subinterfaces:
IMessageHolder
All Known Implementing Classes:
CountingMessageHandler, DefaultMessageHandler, MessageHandler, MessageWriter, PinpointingMessageHandler, WeavingAdaptor.WeavingAdaptorMessageHolder, WeavingAdaptor.WeavingAdaptorMessageWriter

public interface IMessageHandler

Handle messages, logging and/or aborting as appropriate. Implementations define which messages are logged and whether the handler aborts the process. For messages that are costly to construct, clients may query isIgnoring(IMessage.Kind) to avoid construction if the message will be ignored. Clients passing messages to an IMessageHandler should not interfere with aborts by catching AbortException unless otherwise required by their logic or the message handler.


Field Summary
static IMessageHandler SYSTEM_ERR
          print all to System.err and throw AbortException on failure or abort messages
static IMessageHandler SYSTEM_OUT
          print all to System.out but do not throw AbortException on failure or abort messages
static IMessageHandler THROW
          Throw exceptions for anything with ERROR or greater severity
 
Method Summary
 void dontIgnore(IMessage.Kind kind)
          Allow fine grained configuration after initialization.
 boolean handleMessage(IMessage message)
          Handle message, by reporting and/or throwing an AbortException.
 void ignore(IMessage.Kind kind)
          Allow fine grained configuration after initialization.
 boolean isIgnoring(IMessage.Kind kind)
          Signal clients whether this will ignore messages of a given type.
 

Field Detail

SYSTEM_ERR

static final IMessageHandler SYSTEM_ERR
print all to System.err and throw AbortException on failure or abort messages


SYSTEM_OUT

static final IMessageHandler SYSTEM_OUT
print all to System.out but do not throw AbortException on failure or abort messages


THROW

static final IMessageHandler THROW
Throw exceptions for anything with ERROR or greater severity

Method Detail

handleMessage

boolean handleMessage(IMessage message)
                      throws AbortException
Handle message, by reporting and/or throwing an AbortException.

Parameters:
message - the IMessage to handle - never null
Returns:
true if this message was handled by this handler
Throws:
java.lang.IllegalArgumentException - if message is null
AbortException - depending on handler logic.

isIgnoring

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

Returns:
true if this handler is ignoring all messages of this type

dontIgnore

void dontIgnore(IMessage.Kind kind)
Allow fine grained configuration after initialization. Minaly used in LTW. Most of the implementation can have this method be a no-op.

Parameters:
kind -

ignore

void ignore(IMessage.Kind kind)
Allow fine grained configuration after initialization.

Parameters:
kind -