blob: cea334e9283ddd51541fe1f79f1bae6542fb6b27 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.j2ee.commonarchivecore.internal;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.emf.common.util.EList;
/**
* @generated
*/
public interface Container extends File {
/**
* Indicate whether the archive contains a file having a relative path of the parameter; the uri
* may or may not have a leading separator
*/
public boolean containsFile(String uri);
/**
* Return the absolute path of the file from its load strategy, if it is known. Should be used
* mainly for read-only runtime purposes, as edit-time modifications may make the result
* undefined.
*
* @throws FileNotFoundException
* if the archive is "virtual", eg, a nested jar
*/
public String getAbsolutePath() throws FileNotFoundException;
public File getFile(String uri) throws FileNotFoundException;
public InputStream getInputStream(String uri) throws FileNotFoundException, IOException;
/**
* Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
*
* @return com.ibm.etools.archive.LoadStrategy
*/
public org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy getLoadStrategy();
/**
* Indicates whether the archive has ever had its files enumerated; used as an optimization
*/
public boolean isIndexed();
/**
* Goes directly to the strategy
*/
public InputStream primGetInputStream(String uri) throws FileNotFoundException, IOException;
public void rebuildFileIndex();
/**
* Insert the method's description here. Creation date: (11/29/00 6:35:08 PM)
*
* @param newLoadStrategy
* com.ibm.etools.archive.LoadStrategy
*/
public void setLoadStrategy(org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategy newLoadStrategy);
/**
* @generated This field/method will be replaced during code generation
* @return The list of Files references
*/
EList getFiles();
/**
* Clears the list of files in this Container and drops the index
*/
public void clearFiles();
}