Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Note: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Since:
  2.0
See Also:
  `IFeatureContentProvider`

Nested Class Summary
`class` | `FeatureContentProvider.FileFilter`

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.
`protected void` | `validatePermissions(ContentReference[] references)` Sets the permission of all the ContentReferences Check for the .permissions contentReference and use it to set the permissions of other ContentReference

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

### validatePermissions

    protected void validatePermissions(ContentReference[] references)

  Sets the permission of all the ContentReferences Check for the .permissions contentReference and use it to set the permissions of other ContentReference

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.