# Interface DependencySpecContainer

@Incubating public interface DependencySpecContainer
A container for dependency specifications.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<DependencySpec>`
  `getDependencies()`
  Returns an immutable view of dependencies stored in this container.
  `ModuleDependencySpecBuilder`
  `group(String name)`
  Defines a new module dependency, based on a module group name.
  `boolean`
  `isEmpty()`
  Returns true if this container doesn't hold any dependency.
  `ProjectDependencySpecBuilder`
  `library(String name)`
  Defines a new dependency, based on a library name.
  `ModuleDependencySpecBuilder`
  `module(String moduleIdOrName)`
  Defines a new module dependency, based on a module id or a simple name.
  `ProjectDependencySpecBuilder`
  `project(String path)`
  Defines a new dependency, based on a project path.

- ## Method Details

  - ### project

    ProjectDependencySpecBuilder project(String path)
    Defines a new dependency, based on a project path. The returned dependency can be mutated.
    Parameters:
      `path` - the project path
    Returns:
      a mutable dependency, added to this container

  - ### library

    ProjectDependencySpecBuilder library(String name)
    Defines a new dependency, based on a library name. The returned dependency can be mutated.
    Parameters:
      `name` - of the library
    Returns:
      a mutable dependency, added to this container

  - ### module

    ModuleDependencySpecBuilder module(String moduleIdOrName)
    Defines a new module dependency, based on a module id or a simple name. The returned dependency can be mutated.
    Parameters:
      `moduleIdOrName` - of the module
    Returns:
      a mutable module dependency, added to this container

  - ### group

    ModuleDependencySpecBuilder group(String name)
    Defines a new module dependency, based on a module group name. The returned dependency can be mutated.
    Parameters:
      `name` - of the module group
    Returns:
      a mutable module dependency, added to this container

  - ### getDependencies

    Collection<DependencySpec> getDependencies()
    Returns an immutable view of dependencies stored in this container.
    Returns:
      an immutable view of dependencies. Each dependency in the collection is itself immutable.

  - ### isEmpty

    boolean isEmpty()
    Returns true if this container doesn't hold any dependency.
    Returns:
      true if this container doesn't contain any dependency specification.