blob: 97a2a2baf0ca992278a4d24a108bceb909020943 [file] [log] [blame]
/**
* Copyright (c) 2005 IBM and other contributors
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Andy Clement initial implementation
* ******************************************************************/
package org.aspectj.ajdt.internal.core.builder;
import java.io.File;
import java.util.List;
/**
* Implementations of this interface get told interesting information about
* decisions made in AjState objects. Should help us improve incremental
* compilation, and ease the testing of incremental compilation!
*
* Not yet complete, will expand as we determine what extra useful information
* should be recorded.
*
* @author AndyClement
*/
public interface IStateListener {
public void detectedClassChangeInThisDir(File f);
public void aboutToCompareClasspaths(List oldClasspath, List newClasspath);
public void pathChangeDetected();
/**
* Called if state processing detects a file was deleted that contained an aspect declaration.
* Incremental compilation will not be attempted if this occurs.
*/
public void detectedAspectDeleted(File f);
public void buildSuccessful(boolean wasFullBuild);
/**
* When a decision is made during compilation (such as needing to recompile some new file, or drop back to batch) this
* method is called with the decision.
*/
public void recordDecision(String decision);
/**
* Provides feedback during compilation on what stage we are at
*/
public void recordInformation(String info);
}