001/*
002 * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
003 * 
004 * http://www.izforge.com/izpack/
005 * http://developer.berlios.de/projects/izpack/
006 * 
007 * Copyright 2003 Tino Schwarze
008 * 
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *     http://www.apache.org/licenses/LICENSE-2.0
014 *     
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 */
021
022package com.izforge.izpack.installer;
023
024/**
025 * Interface for monitoring compilation progress.
026 * 
027 * This is used by <code>CompilePanel</code>, <code>CompileWorker</code> and
028 * <code>CompilePanelAutomationHelper</code> to display the progress of the compilation. Most of
029 * the functionality, however, is inherited from interface
030 * com.izforge.izpack.util.AbstractUIProgressHandler
031 * 
032 * @author Tino Schwarze
033 * @see com.izforge.izpack.util.AbstractUIProgressHandler
034 */
035public interface CompileHandler extends com.izforge.izpack.util.AbstractUIProgressHandler
036{
037
038    /**
039     * An error was encountered.
040     * 
041     * This method should notify the user of the error and request a choice whether to continue,
042     * abort or reconfigure. It should alter the error accordingly.
043     * 
044     * Although a CompileResult is passed in, the method is only called if something failed.
045     * 
046     * @param error the error to handle
047     */
048    public void handleCompileError(CompileResult error);
049
050}