/*
GNU GENERAL LICENSE
Copyright (C) 2006 The Lobo Project. Copyright (C) 2014 - 2017 Lobo Evolution
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
verion 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General License for more details.
You should have received a copy of the GNU General Public
along with this program. If not, see <http://www.gnu.org/licenses/>.
Contact info: lobochief@users.sourceforge.net; ivan.difrancesco@yahoo.it
*/
/*
* Created on Jun 22, 2005
*/
package org.lobobrowser.primary.clientlets;
import java.io.File;
import java.io.IOException;
import java.net.URL;
/**
* The Class ArchiveInfo.
*/
public class ArchiveInfo {
/** The Constant EMPTY_ARRAY. */
public static final ArchiveInfo[] EMPTY_ARRAY = new ArchiveInfo[0];
/** The file. */
public final File file;
/** The url. */
public final URL url;
/**
* Instantiates a new archive info.
*
* @param url
* the url
* @param file
* the file
*/
public ArchiveInfo(final URL url, final File file) {
super();
this.url = url;
this.file = file;
}
/** The jar file. */
private java.util.jar.JarFile jarFile;
/**
* Gets the jar file.
*
* @return the jar file
*/
public java.util.jar.JarFile getJarFile() throws IOException {
if (this.jarFile == null) {
synchronized (this) {
if (this.jarFile == null) {
this.jarFile = new java.util.jar.JarFile(this.file);
}
}
}
return this.jarFile;
}
// private transient WarriorClassLoader classLoader = null;
//
// public WarriorClassLoader getClassLoader() throws IOException {
// synchronized(this) {
// if(this.classLoader == null) {
// this.classLoader = new ArchiveClassLoader(this.url, this.file);
// }
// return this.classLoader;
// }
// }
}