Eclipse Platform
2.0

org.eclipse.update.core
Class FeatureContentProvider

java.lang.Object
  |
  +--org.eclipse.update.core.FeatureContentProvider
All Implemented Interfaces:
IFeatureContentProvider

public abstract class FeatureContentProvider
extends Object
implements IFeatureContentProvider

Base implementation of a feature content provider. This class provides a set of helper methods useful for implementing feature content providers. In particular, methods dealing with downloading and caching of feature files.

This class must be subclassed by clients.

Since:
2.0
See Also:
IFeatureContentProvider

Field Summary
static String JAR_EXTENSION
           
 
Constructor Summary
FeatureContentProvider(URL base)
          Feature content provider constructor
 
Method Summary
 File asLocalFile(ContentReference ref, InstallMonitor monitor)
          Returns the specified reference as a local file.
 ContentReference asLocalReference(ContentReference ref, InstallMonitor monitor)
          Returns the specified reference as a local file system reference.
 long getDownloadSizeFor(IPluginEntry[] pluginEntries, INonPluginEntry[] nonPluginEntries)
          Returns the total size of all archives required for the specified plug-in and non-plug-in entries (the "packaging" view).
 IFeature getFeature()
          Returns the feature associated with this content provider.
 long getInstallSizeFor(IPluginEntry[] pluginEntries, INonPluginEntry[] nonPluginEntries)
          Returns the total size of all files required for the specified plug-in and non-plug-in entries (the "logical" view).
protected  String getPathID(INonPluginEntry entry)
          Returns the path identifer for a non plugin entry.
protected  String getPathID(IPluginEntry entry)
          Returns the path identifier for a plugin entry.
 URL getURL()
          Returns the feature url.
protected  File getWorkingDirectory()
          Returns working directory for this content provider
 void setFeature(IFeature feature)
          Sets the feature associated with this content provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.update.core.IFeatureContentProvider
getArchiveReferences, getFeatureEntryArchiveReferences, getFeatureEntryContentReferences, getFeatureManifestReference, getNonPluginEntryArchiveReferences, getPluginEntryArchiveReferences, getPluginEntryContentReferences, getVerifier
 

Field Detail

JAR_EXTENSION

public static final String JAR_EXTENSION
See Also:
Constant Field Values
Constructor Detail

FeatureContentProvider

public FeatureContentProvider(URL base)
Feature content provider constructor

Parameters:
base - feature URL. The interpretation of this URL is specific to each content provider.
Since:
2.0
Method Detail

getURL

public URL getURL()
Returns the feature url.

Specified by:
getURL in interface IFeatureContentProvider
Returns:
feature url
See Also:
IFeatureContentProvider.getURL()

getFeature

public IFeature getFeature()
Returns the feature associated with this content provider.

Specified by:
getFeature in interface IFeatureContentProvider
Returns:
feature for this content provider
See Also:
IFeatureContentProvider.getFeature()

setFeature

public void setFeature(IFeature feature)
Sets the feature associated with this content provider.

Specified by:
setFeature in interface IFeatureContentProvider
Parameters:
feature - feature for this content provider
See Also:
IFeatureContentProvider.setFeature(IFeature)

asLocalReference

public ContentReference asLocalReference(ContentReference ref,
                                         InstallMonitor monitor)
                                  throws IOException,
                                         CoreException
Returns the specified reference as a local file system reference. If required, the file represented by the specified content reference is first downloaded to the local system

Parameters:
ref - content reference
monitor - progress monitor, can be null
Throws:
IOException
CoreException
Since:
2.0

asLocalFile

public File asLocalFile(ContentReference ref,
                        InstallMonitor monitor)
                 throws IOException,
                        CoreException
Returns the specified reference as a local file. If required, the file represented by the specified content reference is first downloaded to the local system

Parameters:
ref - content reference
monitor - progress monitor, can be null
Throws:
IOException
CoreException
Since:
2.0

getWorkingDirectory

protected File getWorkingDirectory()
                            throws IOException
Returns working directory for this content provider

Returns:
working directory
Throws:
IOException
Since:
2.0

getDownloadSizeFor

public long getDownloadSizeFor(IPluginEntry[] pluginEntries,
                               INonPluginEntry[] nonPluginEntries)
Returns the total size of all archives required for the specified plug-in and non-plug-in entries (the "packaging" view).

Specified by:
getDownloadSizeFor in interface IFeatureContentProvider
Parameters:
pluginEntries - an array of plug-in entries
nonPluginEntries - an array of non-plug-in entries
Returns:
total download size, or an indication that size could not be determined
See Also:
IFeatureContentProvider.getDownloadSizeFor(IPluginEntry[], INonPluginEntry[])

getInstallSizeFor

public long getInstallSizeFor(IPluginEntry[] pluginEntries,
                              INonPluginEntry[] nonPluginEntries)
Returns the total size of all files required for the specified plug-in and non-plug-in entries (the "logical" view).

Specified by:
getInstallSizeFor in interface IFeatureContentProvider
Parameters:
pluginEntries - an array of plug-in entries
nonPluginEntries - an array of non-plug-in entries
Returns:
total download size, or an indication that size could not be determined
See Also:
IFeatureContentProvider.getInstallSizeFor(IPluginEntry[], INonPluginEntry[])

getPathID

protected String getPathID(IPluginEntry entry)
Returns the path identifier for a plugin entry. plugins/<pluginId>_<pluginVersion>.jar

Returns:
the path identifier

getPathID

protected String getPathID(INonPluginEntry entry)
Returns the path identifer for a non plugin entry. features/<featureId>_<featureVersion>/<dataId>

Returns:
the path identifier

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.