59 lines
2.0 KiB
Java

package org.alfresco.repo.module.tool;
import org.alfresco.service.cmr.module.ModuleDetails;
import de.schlichtherle.truezip.file.TFile;
/**
* Performs various actions on a war file or exploded war directory
*
* @author Gethin James
*/
public interface WarHelper
{
public static final String MODULE_NAMESPACE_DIR = "/WEB-INF/classes/alfresco/module";
public static final String MODULE_CONFIG_IN_WAR = "/module.properties";
/**
* Gets the module details or an available alias
* @param war a valid war file or exploded directory from a war
* @param installingModuleDetails
* @return ModuleDetails
*/
public ModuleDetails getModuleDetailsOrAlias(TFile war, ModuleDetails installingModuleDetails);
/**
* Checks the dependencies of this module
* @param war
* @param installingModuleDetails
*/
public void checkModuleDependencies(TFile war, ModuleDetails installingModuleDetails);
/**
* Checks to see if the module is compatible with the version of Alfresco.
*
* @param war a valid war file or exploded directory from a war
*/
public void checkCompatibleVersion(TFile war, ModuleDetails installingModuleDetails);
/**
* This checks to see if the module that is being installed is compatible with the war.
* If not module edition is specfied then it will just return. However, if an edition is specified and it doesn't match
* then an error is thrown.
* @param war a valid war file or exploded directory from a war
* @param installingModuleDetails
*/
public void checkCompatibleEdition(TFile war, ModuleDetails installingModuleDetails);
/**
* Indicates if the war file specified is a "Share" war. The default is FALSE
* Returns true if the Share war manifest states its a share war.
* @since 3.4.11,4.1.1,Community 4.2
*
* @param war
* @return boolean - true if it is a share war
*/
public boolean isShareWar(TFile war);
}