# Interface ArtifactRepository

All Known Subinterfaces:
  `FlatDirectoryArtifactRepository, IvyArtifactRepository, MavenArtifactRepository, PrebuiltLibraries`

public interface ArtifactRepository
A repository for resolving and publishing artifacts.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `content(Action<? super RepositoryContentDescriptor> configureAction)`
  Configures the content of this repository.
  `String`
  `getName()`
  Returns the name for this repository.
  `void`
  `setName(String name)`
  Sets the name for this repository.

- ## Method Details

  - ### getName

    String getName()
    Returns the name for this repository. A name must be unique amongst a repository set. A default name is provided for the repository if none is provided.

    The name is used in logging output and error reporting to point to information related to this repository.

    Returns:
      The name.
    Since:
      1.0

  - ### setName

    void setName(String name)
    Sets the name for this repository. If this repository is to be added to an `ArtifactRepositoryContainer` (including `RepositoryHandler`), its name cannot be changed after it has been added to the container.
    Parameters:
      `name` - The name. Must not be null.
    Throws:
      `IllegalStateException` - If the name is set after it has been added to the container.
    Since:
      1.0

  - ### content

    void content(Action<? super RepositoryContentDescriptor> configureAction)
    Configures the content of this repository.
    Parameters:
      `configureAction` - the configuration action
    Since:
      5.1