1 /******************************************************************************* 2 * Copyright (c) 2000, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.jdt.core; 12 13 import org.eclipse.jdt.core.compiler.IProblem; 14 15 /** 16 * A callback interface for receiving java problem as they are discovered 17 * by some Java operation. 18 * 19 * @see IProblem 20 * @since 2.0 21 */ 22 public interface IProblemRequestor { 23 24 /** 25 * Notification of a Java problem. 26 * 27 * @param problem IProblem - The discovered Java problem. 28 */ 29 void acceptProblem(IProblem problem); 30 31 /** 32 * Notification sent before starting the problem detection process. 33 * Typically, this would tell a problem collector to clear previously recorded problems. 34 */ 35 void beginReporting(); 36 37 /** 38 * Notification sent after having completed problem detection process. 39 * Typically, this would tell a problem collector that no more problems should be expected in this 40 * iteration. 41 */ 42 void endReporting(); 43 44 /** 45 * Predicate allowing the problem requestor to signal whether or not it is currently 46 * interested by problem reports. When answering <code>false</code>, problem will 47 * not be discovered any more until the next iteration. 48 * 49 * This predicate will be invoked once prior to each problem detection iteration. 50 * 51 * @return boolean - indicates whether the requestor is currently interested by problems. 52 */ 53 boolean isActive(); 54 } 55