J2EEArchive.java

00001 
00026 package org.objectweb.jonas_lib.genbase.archive;
00027 
00028 import java.io.File;
00029 import java.io.IOException;
00030 import java.io.InputStream;
00031 import java.util.List;
00032 import java.util.Map;
00033 import java.util.jar.Manifest;
00034 
00035 import org.objectweb.jonas_lib.I18n;
00036 import org.objectweb.jonas_lib.genbase.GenBaseException;
00037 import org.objectweb.jonas_lib.genbase.generator.Config;
00038 import org.objectweb.jonas_lib.genbase.generator.GeneratorFactories;
00039 import org.objectweb.jonas_lib.genbase.generator.GeneratorFactory;
00040 
00041 import org.objectweb.jonas.common.Log;
00042 
00043 import org.objectweb.util.monolog.api.Logger;
00044 
00045 
00052 public abstract class J2EEArchive implements Archive {
00054     private static I18n i18n = I18n.getInstance(J2EEArchive.class);
00055 
00057     private static Logger logger = Log.getLogger(Log.JONAS_GENBASE_PREFIX);
00058 
00060     private Archive archive;
00061 
00063     private ClassLoader moduleClassloader = null;
00064 
00070     public J2EEArchive(Archive archive) {
00071         this.archive = archive;
00072     }
00073 
00079     public void addDirectory(File directory) {
00080         archive.addDirectory(directory);
00081     }
00082 
00090     public void addDirectoryIn(String dirName, File directory) {
00091         archive.addDirectoryIn(dirName, directory);
00092     }
00093 
00099     public void addFile(File file) {
00100         archive.addFile(file);
00101     }
00102 
00109     public void addFile(File file, String name) {
00110         archive.addFile(file, name);
00111     }
00112 
00119     public void addFileIn(String dirName, File file) {
00120         archive.addFileIn(dirName, file);
00121     }
00122 
00128     public File getRootFile() {
00129         return archive.getRootFile();
00130     }
00131 
00137     public Manifest getManifest() {
00138         return archive.getManifest();
00139     }
00140 
00150     public InputStream getInputStream(String filename)
00151         throws IOException {
00152         return archive.getInputStream(filename);
00153     }
00154 
00161     public List getContainedFiles() {
00162         return archive.getContainedFiles();
00163     }
00164 
00170     public boolean isPacked() {
00171         return archive.isPacked();
00172     }
00173 
00179     public String getName() {
00180         return archive.getName();
00181     }
00182 
00189     public abstract Map getDescriptors();
00190 
00198     public abstract boolean omit(String name);
00199 
00203     public static I18n getI18n() {
00204         return i18n;
00205     }
00209     public static Logger getLogger() {
00210         return logger;
00211     }
00215     public Archive getArchive() {
00216         return archive;
00217     }
00221     public void setArchive(Archive archive) {
00222         this.archive = archive;
00223     }
00224 
00229     public abstract void initialize() throws GenBaseException;
00230 
00234     public ClassLoader getModuleClassloader() {
00235         return moduleClassloader;
00236     }
00237 
00241     public void setModuleClassloader(ClassLoader moduleClassloader) {
00242         this.moduleClassloader = moduleClassloader;
00243     }
00244 
00248     protected boolean isDTDsAllowed() {
00249         GeneratorFactory gf = GeneratorFactories.getCurrentFactory();
00250         if (gf == null) {
00251             throw new IllegalStateException(i18n.getMessage("J2EEArchive.isDTDsAllowed.noFactory"));
00252         }
00253         Config config = gf.getConfiguration();
00254         if (config == null) {
00255             throw new IllegalStateException(i18n.getMessage("J2EEArchive.isDTDsAllowed.noConfig"));
00256         }
00257         return config.isDTDsAllowed();
00258     }
00259 }

Generated on Tue Feb 15 15:05:51 2005 for JOnAS by  doxygen 1.3.9.1