1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /********************************************************************
- * Copyright (c) 2007 Contributors. All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Public License v 2.0
- * which accompanies this distribution and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
- *
- * Contributors: IBM Corporation - initial API and implementation
- * Helen Hawkins - initial version (bug 148190)
- *******************************************************************/
- package org.aspectj.ajde.core;
-
- import org.aspectj.bridge.AbortException;
- import org.aspectj.bridge.IMessage;
-
- /**
- * Interface that handles messages sent from the compiler.
- * Implementations define which messages are logged and whether
- * the handler aborts the process.
- */
- public interface IBuildMessageHandler {
-
- /**
- * Handle message by reporting and/or throwing an AbortException.
- *
- * @param message the IMessage to handle - never null
- * @return true if this message was handled by this handler
- * @throws IllegalArgumentException if message is null
- * @throws AbortException depending on handler logic.
- */
- boolean handleMessage(IMessage message) throws AbortException;
-
- /**
- * Signal whether this will ignore messages of a given type.
- * Clients may use this to avoid constructing or sending
- * certain messages.
- *
- * @return true if this handler is ignoring all messages of this type
- */
- boolean isIgnoring(IMessage.Kind kind);
-
- /**
- * Allow fine grained configuration after initialization.
- *
- * @param kind
- */
- void dontIgnore(IMessage.Kind kind);
-
- /**
- * Allow fine grained configuration after initialization.
- *
- * @param kind
- */
- void ignore(IMessage.Kind kind);
-
- }
|