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 Jonathan Halliday 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 024import net.n3.nanoxml.XMLElement; 025 026/** 027 * Defines the Interface that must be implemented for running Panels in automated (or "silent", 028 * "headless") install mode. 029 * 030 * Implementing classes MUST NOT link against awt/swing classes. Thus the Panels cannot implement 031 * this interface directly, they should use e.g. helper classes instead. 032 * 033 * @see AutomatedInstaller 034 * @author Jonathan Halliday 035 * @author Julien Ponge 036 */ 037public interface PanelAutomation 038{ 039 040 /** 041 * Asks the panel to set its own XML data that can be brought back for an automated installation 042 * process. Use it as a blackbox if your panel needs to do something even in automated mode. 043 * 044 * @param installData The installation data 045 * @param panelRoot The XML root element of the panels blackbox tree. 046 */ 047 public void makeXMLData(AutomatedInstallData installData, XMLElement panelRoot); 048 049 /** 050 * Makes the panel work in automated mode. Default is to do nothing, but any panel doing 051 * something 'effective' during the installation process should implement this method. 052 * 053 * @param installData The installation data 054 * @param panelRoot The XML root element of the panels blackbox tree. 055 */ 056 public void runAutomated(AutomatedInstallData installData, XMLElement panelRoot); 057}