blob: 6fe93907fd98ecbae8ce2490b98c79114e0033e1 [file] [log] [blame]
package org.eclipse.update.core;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import java.io.InputStream;
import org.eclipse.core.runtime.CoreException;
/**
* A PluginContainer manages plug-in archives.
* A feature and a site are plugin container as they both
* logically or physically manage the archives that contain
* plug-ins.
*
*/
//FIXME: javadoc
public interface IPluginContainer {
/**
* Returns an array of plug-ins managed by the container
*
* @return the accessible plug-ins. Returns an empty array
* if there are no plug-ins.
*/
IPluginEntry [] getPluginEntries() ;
/**
* Returns the number of managed plug-ins
* @return the number of plug-ins
*/
int getPluginEntryCount() ;
/**
* Size of the archives in Kilo-Bytes
* @return the size of the archive to be downloaded
*/
int getDownloadSize(IPluginEntry entry) ;
/**
* Size of the plug-in in KiloBytes
* @return the size of the plug-in when installed
*/
int getInstallSize(IPluginEntry entry) ;
/**
* Adds a pluginEntry to the list of managed pluginEntry
*
* @param entry the plugin entry
*/
void addPluginEntry(IPluginEntry pluginEntry);
/**
* Create a file in a plugin
*
* @param entry the plugin entry
* @param name the file to be created in the plugin
* @param inStream the content of the remote file to be transfered in the new file
*/
void store(IPluginEntry entry, String name, InputStream inStream) throws CoreException;
}