Class ContainerSourceContainer

  • All Implemented Interfaces:
    IAdaptable, ISourceContainer
    Direct Known Subclasses:
    FolderSourceContainer, ProjectSourceContainer

    public abstract class ContainerSourceContainer
    extends CompositeSourceContainer
    A source container for a container in the workspace. Source elements are searched for within this container and optionally nested containers.

    Names specified in findSourceElements method can be simple or qualified. When a name is qualified, a file will be searched for relative to this container, and optionally nested containers.

    Since:
    3.2
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • ContainerSourceContainer

        public ContainerSourceContainer​(IContainer container,
                                        boolean subfolders)
        Constructs a source container on the given workspace container.
        Parameters:
        container - the container to search for source in
        subfolders - whether nested folders should be searched for source elements
    • Method Detail

      • getContainer

        public IContainer getContainer()
        Returns the workspace container this source container is rooted at.
        Returns:
        the workspace container this source container is rooted at
      • 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).

        Specified by:
        findSourceElements in interface ISourceContainer
        Overrides:
        findSourceElements in class CompositeSourceContainer
        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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • 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 CompositeSourceContainer
        Returns:
        whether this container is a composite container