Eclipse Platform
Release 3.1

org.eclipse.debug.core.sourcelookup.containers
Class CompositeSourceContainer

java.lang.Object
  extended byorg.eclipse.core.runtime.PlatformObject
      extended byorg.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer
          extended byorg.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer
All Implemented Interfaces:
IAdaptable, ISourceContainer
Direct Known Subclasses:
org.eclipse.debug.internal.core.sourcelookup.containers.ContainerSourceContainer, DefaultSourceContainer, DirectorySourceContainer, WorkingSetSourceContainer, WorkspaceSourceContainer

public abstract class CompositeSourceContainer
extends AbstractSourceContainer

A source container of source containers.

Clients implementing composite source containers should subclass this class.

Since:
3.0

Field Summary
 
Fields inherited from class org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer
EMPTY
 
Constructor Summary
CompositeSourceContainer()
           
 
Method Summary
protected abstract  ISourceContainer[] createSourceContainers()
          Creates the source containers in this composite container.
 void dispose()
          Disposes this source container.
 Object[] findSourceElements(String name)
          Returns a collection of source elements in this container corresponding to the given name.
protected  Object[] findSourceElements(String name, ISourceContainer[] containers)
          Returns a collection of source elements in the given containers corresponding to the given name.
 ISourceContainer[] getSourceContainers()
          Returns the source containers this container is composed of.
 boolean isComposite()
          Returns whether this container is a composite container.
 
Methods inherited from class org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer
abort, getDirector, getSourceContainerType, init, isFindDuplicates
 
Methods inherited from class org.eclipse.core.runtime.PlatformObject
getAdapter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.debug.core.sourcelookup.ISourceContainer
getName, getType
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Constructor Detail

CompositeSourceContainer

public CompositeSourceContainer()
Method Detail

isComposite

public boolean isComposite()
Description copied from interface: ISourceContainer
Returns whether this container is a composite container. A composite container is composed of other source containers. For example, a workspace source container may be composed of project source containers.

Specified by:
isComposite in interface ISourceContainer
Overrides:
isComposite in class AbstractSourceContainer

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 occurrs while searching for source elements

findSourceElements

protected Object[] findSourceElements(String name,
                                      ISourceContainer[] containers)
                               throws CoreException
Returns a collection of source elements in the given containers 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
containers - the containers to search
Returns:
a collection of source elements corresponding to the given name
Throws:
CoreException - if an exception occurrs while searching for source elements

createSourceContainers

protected abstract ISourceContainer[] createSourceContainers()
                                                      throws CoreException
Creates the source containers in this composite container. Subclasses should override this methods.

Throws:
CoreException - if unable to create the containers

getSourceContainers

public ISourceContainer[] getSourceContainers()
                                       throws CoreException
Description copied from interface: ISourceContainer
Returns the source containers this container is composed of. An empty collection is returned if this container is not a composite container. For example, a workspace source container may be composed of project source containers.

Specified by:
getSourceContainers in interface ISourceContainer
Overrides:
getSourceContainers in class AbstractSourceContainer
Throws:
CoreException

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

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

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