Class ExternalArchiveSourceContainer

All Implemented Interfaces:
IAdaptable, ISourceContainer

public class ExternalArchiveSourceContainer extends AbstractSourceContainer
An archive in the local file system. Returns instances of ZipEntryStorage as source elements.

Clients may instantiate this class.

Since:
3.0
Restriction:
This class is not intended to be subclassed by clients.
  • Field Details

    • TYPE_ID

      public static final String TYPE_ID
      Unique identifier for the external archive source container type (value org.eclipse.debug.core.containerType.externalArchive).
  • Constructor Details

    • ExternalArchiveSourceContainer

      public ExternalArchiveSourceContainer(String archivePath, boolean detectRootPaths)
      Creates an archive source container on the archive at the specified location in the local file system.
      Parameters:
      archivePath - path to the archive in the local file system
      detectRootPaths - whether root container paths should be detected. When true, searching is performed relative to a root path within the archive based on fully qualified file names. A root path is automatically determined for when the first successful search is performed. For example, when searching for a file named a/b/c.d, and an entry in the archive named r/a/b/c.d exists, a root path is set to r. When searching for an unqualified file name, root containers are not considered. When false, searching is performed by matching file names as suffixes to the entries in the archive.
  • Method Details

    • findSourceElements

      public Object[] findSourceElements(String name) throws CoreException
      Description copied from interface: ISourceContainer
      Returns a collection of source elements in this container corresponding to the given name. Returns an empty collection if no source elements are found. This source container's source lookup director specifies if duplicate source elements should be searched for, via isFindDuplicates(). When false the returned collection should contain at most one source element. If this is a composite container, the containers contained by this container are also searched.

      The format of the given name is implementation specific but generally conforms to the format of a file name. If a source container does not recognize the name format provided, an empty collection should be returned. A source container may or may not require names to be fully qualified (i.e. be qualified with directory names).

      Parameters:
      name - the name of the source element to search for
      Returns:
      a collection of source elements corresponding to the given name
      Throws:
      CoreException - if an exception occurs while searching for source elements
    • getName

      public String getName()
      Description copied from interface: ISourceContainer
      The name of this source container that can be used for presentation purposes. For example, the name of a project.
      Returns:
      the name of this source container
    • getType

      public ISourceContainerType getType()
      Description copied from interface: ISourceContainer
      Returns this container's type.
      Returns:
      this container's type
    • isDetectRoot

      public boolean isDetectRoot()
      Returns whether root paths are automatically detected in this archive source container.
      Returns:
      whether root paths are automatically detected in this archive source container
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • dispose

      public void dispose()
      Description copied from interface: ISourceContainer
      Disposes this source container. This method is called when the source director associated with this source container is disposed.
      Specified by:
      dispose in interface ISourceContainer
      Overrides:
      dispose in class AbstractSourceContainer