com.izforge.izpack.event.ActionBase Maven / Gradle / Ivy
/*
* IzPack - Copyright 2001-2008 Julien Ponge, All Rights Reserved.
*
* http://izpack.org/
* http://izpack.codehaus.org/
*
* Copyright 2004 Klaus Bartz
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.izforge.izpack.event;
import java.io.Serializable;
import java.util.HashSet;
/**
* Base class for action classes like AntAction.
*
* @author Klaus Bartz
*/
public class ActionBase implements Serializable
{
// --- String constants for parsing the XML specification -----------------
// --- These definitions are placed here because the const strings are -----
// --- used by more than one InstallerListener and UninstallerListener -----
// --- class. --------------------------------------------------------------
private static final long serialVersionUID = 3690478013149884728L;
public static final String PACK = "pack";
public static final String NAME = "name";
public static final String ANTCALL_CONDITIONID_ATTR = "condition";
// Order related "symbols"
public static final String ORDER = "order";
public static final String BEFOREPACK = "beforepack";
public static final String AFTERPACK = "afterpack";
public static final String BEFOREPACKS = "beforepacks";
public static final String AFTERPACKS = "afterpacks";
public static final String UNINSTALL_ORDER = "uninstall_order";
public static final String BEFOREDELETION = "beforedeletion";
public static final String AFTERDELETION = "afterdeletion";
public static final String PROPERTY = "property";
public static final String VALUE = "value";
public static final String ANTCALL_QUIET_ATTR = "quiet";
public static final String ANTCALL_VERBOSE_ATTR = "verbose";
public static final String ANTCALL_LOGLEVEL_ATTR = "loglevel";
public static final String ANTCALL_LOGFILE_ATTR = "logfile";
public static final String LOGFILE_APPEND = "logfile_append";
public static final String ANTCALL_DIR_ATTR = "dir";
public static final String ANTCALL_BUILDFILE_ATTR = "buildfile";
public static final String ANTCALL_BUILDRESOURCE_ATTR = "buildresource";
public static final String PROPERTYFILE = "propertyfile";
public static final String PATH = "path";
public static final String SRCDIR = "srcdir";
public static final String TARGETDIR = "targetdir";
public static final String TARGET = "target";
public static final String UNINSTALL_TARGET = "uninstall_target";
public static final String ACTION = "action";
public static final String UNINSTALL_ACTION = "uninstall_action";
public static final String ONDEST = "ondestination";
public static final String COPY = "copy";
public static final String REMOVE = "remove";
public static final String REWIND = "rewind";
public static final String TOUCH = "touch";
public static final String MOVE = "move";
public static final String OVERRIDE = "override";
public static final String UPDATE = "update";
public static final String NOTHING = "nothing";
public static final String FILESET = "fileset";
public static final String ANTCALL_MESSAGEID_ATTR = "messageid";
public static final String INCLUDE = "include";
public static final String INCLUDES = "includes";
public static final String EXCLUDE = "exclude";
public static final String EXCLUDES = "excludes";
public static final String OS = "os";
public static final String FAMILY = "family";
public static final String VERSION = "version";
public static final String ARCH = "arch";
public static final String CASESENSITIVE = "casesensitive";
public static final String UNIX = "unix";
public static final String WINDOWS = "windows";
public static final String MAC = "mac";
public static final String ASKTRUE = "asktrue";
public static final String ASKFALSE = "askfalse";
private static final HashSet installOrders = new HashSet();
private static final HashSet uninstallOrders = new HashSet();
protected String uninstallOrder = ActionBase.BEFOREDELETION;
protected String order = null;
protected String messageID = null;
static
{
installOrders.add(ActionBase.BEFOREPACK);
installOrders.add(ActionBase.AFTERPACK);
installOrders.add(ActionBase.BEFOREPACKS);
installOrders.add(ActionBase.AFTERPACKS);
uninstallOrders.add(ActionBase.BEFOREDELETION);
uninstallOrders.add(ActionBase.AFTERDELETION);
}
/**
* Default constructor
*/
public ActionBase()
{
super();
}
/**
* Returns the order.
*
* @return the order
*/
public String getOrder()
{
return order;
}
/**
* Sets the order to the given string. Valid values are "beforepacks", "beforepack", "afterpack"
* and "afterpacks".
*
* @param order order to be set
*/
public void setOrder(String order) throws Exception
{
if (!installOrders.contains(order))
{
throw new Exception("Bad value for order.");
}
this.order = order;
}
/**
* Returns the order for uninstallation.
*
* @return the order for uninstallation
*/
public String getUninstallOrder()
{
return uninstallOrder;
}
/**
* Sets the order to the given string for uninstallation. Valid values are "beforedeletion" and
* "afterdeletion".
*
* @param order order to be set
*/
public void setUninstallOrder(String order) throws Exception
{
if (!uninstallOrders.contains(order))
{
throw new Exception("Bad value for order.");
}
this.uninstallOrder = order;
}
/**
* Returns the defined message ID for this action.
*
* @return the defined message ID
*/
public String getMessageID()
{
return messageID;
}
/**
* Sets the message ID to the given string.
*
* @param messageID string to be used as message ID
*/
public void setMessageID(String messageID)
{
this.messageID = messageID;
}
}