Klasse MessageHandler

java.lang.Object
org.aspectj.bridge.MessageHandler
Alle implementierten Schnittstellen:
IMessageHandler, IMessageHolder
Bekannte direkte Unterklassen:
WeavingAdaptor.WeavingAdaptorMessageHolder

public class MessageHandler extends Object implements IMessageHolder
This handler accumulates messages. To control messages accumulated, clients can ignore messages of a given kind, or install a listener/interceptor. The interceptor handles all messages (even null) first, and can halt further processing/accumlation by returning true. Clients can obtain messages accumulated using the get... methods. XXX this does not permit messages to be removed.
Autor:
PARC, Andy Clement
  • Felddetails

    • messages

      protected final ArrayList<IMessage> messages
      messages accumulated
    • ignoring

      protected final List<IMessage.Kind> ignoring
      kinds of messages to be ignored
    • handleMessageResult

      protected boolean handleMessageResult
      result of handleMessage(..) for messages not accumulated (ignored)
    • interceptor

      protected IMessageHandler interceptor
      listener which can halt processing by returning true
  • Konstruktordetails

    • MessageHandler

      public MessageHandler()
      same as MessageHandler(false)
    • MessageHandler

      public MessageHandler(boolean accumulateOnly)
      Parameter:
      accumulateOnly - the result of handleMessage (i.e., if true, then only accumulate messages - stop processing
  • Methodendetails

    • init

      public void init()
      Initialize this, removing any messages accumulated, kinds being ignored, or interceptor. Assume that this should return false from handleMessage(..).
    • init

      public void init(boolean accumulateOnly)
      Initialize this, removing any messages accumulated, kinds being ignored, or interceptor.
      Parameter:
      accumulateOnly - boolean value returned from handleMessage after accumulating in list
    • clearMessages

      public void clearMessages()
      Clear the messages without changing other behavior.
      Angegeben von:
      clearMessages in Schnittstelle IMessageHolder
    • handleMessage

      public boolean handleMessage(IMessage message)
      This implementation accumulates message. If an interceptor is installed and returns true (message handled), then processing halts and the message is not accumulated.
      Angegeben von:
      handleMessage in Schnittstelle IMessageHandler
      Parameter:
      message - the IMessage to handle - never null
      Gibt zurück:
      true on interception or the constructor value otherwise
      Siehe auch:
    • isIgnoring

      public boolean isIgnoring(IMessage.Kind kind)
      Beschreibung aus Schnittstelle kopiert: IMessageHandler
      Signal clients whether this will ignore messages of a given type. Clients may use this to avoid constructing or sending certain messages.
      Angegeben von:
      isIgnoring in Schnittstelle IMessageHandler
      Gibt zurück:
      true if this kind has been flagged to be ignored.
      Siehe auch:
    • ignore

      public void ignore(IMessage.Kind kind)
      Set a message kind to be ignored from now on
      Angegeben von:
      ignore in Schnittstelle IMessageHandler
      Parameter:
      kind -
    • dontIgnore

      public void dontIgnore(IMessage.Kind kind)
      Remove a message kind from the list of those ignored from now on.
      Angegeben von:
      dontIgnore in Schnittstelle IMessageHandler
      Parameter:
      kind -
    • hasAnyMessage

      public boolean hasAnyMessage(IMessage.Kind kind, boolean orGreater)
      Beschreibung aus Schnittstelle kopiert: IMessageHolder
      Tell whether this holder has any message of this kind (optionally or greater).
      Angegeben von:
      hasAnyMessage in Schnittstelle IMessageHolder
      Parameter:
      kind - the IMessage.Kind to check for - accept any if null
      orGreater - if true, also any greater than the target kind as determined by IMessage.Kind.COMPARATOR
      Gibt zurück:
      true if this holder has any message of this kind, or if orGreater and any message has a greater kind, as determined by IMessage.Kind.COMPARATOR
      Siehe auch:
    • numMessages

      public int numMessages(IMessage.Kind kind, boolean orGreater)
      Beschreibung aus Schnittstelle kopiert: IMessageHolder
      Count the messages currently held by this holder. Pass null to get all kinds.
      Angegeben von:
      numMessages in Schnittstelle IMessageHolder
      Parameter:
      kind - the IMessage.Kind expected, or null for all messages
      orGreater - if true, also any greater than the target kind as determined by IMessage.Kind.COMPARATOR
      Gibt zurück:
      number of messages accumulated of a given kind
    • getUnmodifiableListView

      public List<IMessage> getUnmodifiableListView()
      Angegeben von:
      getUnmodifiableListView in Schnittstelle IMessageHolder
      Gibt zurück:
      unmodifiable List view of underlying collection of IMessage
      Siehe auch:
    • getMessages

      public IMessage[] getMessages(IMessage.Kind kind, boolean orGreater)
      Get all messages or those of a specific kind. Pass null to get all kinds.
      Angegeben von:
      getMessages in Schnittstelle IMessageHolder
      Parameter:
      kind - the IMessage.Kind expected, or null for all messages
      orGreater - if true, also get any greater than the target kind as determined by IMessage.Kind.COMPARATOR
      Gibt zurück:
      IMessage[] of messages of the right kind
    • getErrors

      public IMessage[] getErrors()
      Gibt zurück:
      array of error messages, or IMessage.NONE
    • getWarnings

      public IMessage[] getWarnings()
      Gibt zurück:
      array of warning messages, or IMessage.NONE
    • setInterceptor

      public void setInterceptor(IMessageHandler interceptor)
      Set the interceptor which gets any message before we process it.
      Parameter:
      interceptor - the IMessageHandler passed the message. Pass null to remove the old interceptor.
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
      Gibt zurück:
      String containing list of messages