blob: 9e30814181793c2a9155265f1c5e6fa044e605b6 [file] [log] [blame]
// -------------------------------------------------------------------------------
// Copyright (c)2000 Apache Software Foundation
// -------------------------------------------------------------------------------
package org.apache.ant;
/**
* Abstract class that lets Ant talk to a front end such as a CLI front end,
* GUI front end, Servlet front end, or some other front end.
*
* @author James Duncan Davidson (duncan@apache.org)
*/
public abstract class AntFrontEnd {
// -----------------------------------------------------------------
// CONSTANTS
// -----------------------------------------------------------------
/**
* Indicates that an associated message has a low importance.
*/
public static final int MSG_LEVEL_LOW = 1;
/**
* Indicates that an associated message has a medium importance.
*/
public static final int MSG_LEVEL_MED = 2;
/**
* Indicates that an associated message has a high importance.
*/
public static final int MSG_LEVEL_HIGH = 3;
// -----------------------------------------------------------------
// PUBLIC METHODS
// -----------------------------------------------------------------
/**
* Send notification to the FrontEnd that execution has moved into
* the scope of a particular project. The default implementation
* does nothing.
*/
public void notifyProjectStart(Project project) {
}
/**
* Send notification to the FrontEnd that execution has moved out
* of the scope of a particular Project. The default implementation
* does nothing.
*/
public void notifyProjectEnd(Project project) {
}
/**
* Send notification to the FrontEnd that execution has moved into
* the scope of a particular target. The default implementation does
* nothing.
*/
public void notifyTargetStart(Target target) {
}
/**
* Send notification to the FrontEnd that execution has moved out of
* the scope of a particular target. The default implementation does
* nothing.
*/
public void notifyTargetEnd(Target target) {
}
/**
* Send notification to the FrontEnd that execution has moved into the
* scope of a particular task. The default implementation does nothing.
*/
public void notifyTaskStart(Task task) {
}
/**
* Send notification to the FrontEnd that execution has moved out of
* the scope of a particular task. The default implementation does
* nothing.
*/
public void notifyTaskEnd(Task task) {
}
/**
* Writes a message to the front end with a medium importance.
*/
public void writeMessage(String message) {
writeMessage(message, MSG_LEVEL_MED);
}
/**
* Writes a message to the front end.
*/
public abstract void writeMessage(String message, int level);
}