Interface RepositoryLayout


public interface RepositoryLayout
The layout for a remote repository whose artifacts/metadata can be addressed via URIs.

Note: Implementations must be stateless.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final class 
    A descriptor for a checksum location.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns immutable list of ChecksumAlgorithmFactory this instance of layout uses, never null.
    getChecksumLocations(org.eclipse.aether.artifact.Artifact artifact, boolean upload, URI location)
    Gets the checksums files that a remote repository keeps to help detect data corruption during transfers of the specified artifact.
    getChecksumLocations(org.eclipse.aether.metadata.Metadata metadata, boolean upload, URI location)
    Gets the checksums files that a remote repository keeps to help detect data corruption during transfers of the specified metadata.
    getLocation(org.eclipse.aether.artifact.Artifact artifact, boolean upload)
    Gets the location within a remote repository where the specified artifact resides.
    getLocation(org.eclipse.aether.metadata.Metadata metadata, boolean upload)
    Gets the location within a remote repository where the specified metadata resides.
    boolean
    hasChecksums(org.eclipse.aether.artifact.Artifact artifact)
    Tells whether given artifact have remote external checksums according to current layout or not.
  • Method Details

    • getChecksumAlgorithmFactories

      Returns immutable list of ChecksumAlgorithmFactory this instance of layout uses, never null. The order also represents the order how remote external checksums are retrieved and validated.
      Since:
      1.8.0
      See Also:
    • hasChecksums

      boolean hasChecksums(org.eclipse.aether.artifact.Artifact artifact)
      Tells whether given artifact have remote external checksums according to current layout or not. If it returns true, then layout configured checksums will be expected: on upload they will be calculated and deployed along artifact, on download they will be retrieved and validated. If it returns false the given artifacts will have checksums omitted: on upload they will not be calculated and deployed, and on download they will be not retrieved nor validated. The result affects only layout provided checksums. See ChecksumPolicy.ChecksumKind.REMOTE_EXTERNAL. On download, the getChecksumAlgorithmFactories() layout required checksums are calculated, and non layout-provided checksums are still utilized. Typical case to return false (to omit checksums) is for artifact signatures, that are already a "sub-artifact" of some main artifact (for example a JAR), and they can be validated by some other means.
      Since:
      1.8.0
      See Also:
    • getLocation

      URI getLocation(org.eclipse.aether.artifact.Artifact artifact, boolean upload)
      Gets the location within a remote repository where the specified artifact resides. The URI is relative to the root directory of the repository.
      Parameters:
      artifact - The artifact to get the URI for, must not be null.
      upload - false if the artifact is being downloaded, true if the artifact is being uploaded.
      Returns:
      The relative URI to the artifact, never null.
    • getLocation

      URI getLocation(org.eclipse.aether.metadata.Metadata metadata, boolean upload)
      Gets the location within a remote repository where the specified metadata resides. The URI is relative to the root directory of the repository.
      Parameters:
      metadata - The metadata to get the URI for, must not be null.
      upload - false if the metadata is being downloaded, true if the metadata is being uploaded.
      Returns:
      The relative URI to the metadata, never null.
    • getChecksumLocations

      List<RepositoryLayout.ChecksumLocation> getChecksumLocations(org.eclipse.aether.artifact.Artifact artifact, boolean upload, URI location)
      Gets the checksums files that a remote repository keeps to help detect data corruption during transfers of the specified artifact.
      Parameters:
      artifact - The artifact to get the checksum files for, must not be null.
      upload - false if the checksums are being downloaded/verified, true if the checksums are being uploaded/created.
      location - The relative URI to the artifact within the repository as previously obtained from getLocation(Artifact, boolean), must not be null.
      Returns:
      The checksum files for the given artifact, possibly empty but never null. If empty, that means that this layout does not provide checksums for given artifact.
    • getChecksumLocations

      List<RepositoryLayout.ChecksumLocation> getChecksumLocations(org.eclipse.aether.metadata.Metadata metadata, boolean upload, URI location)
      Gets the checksums files that a remote repository keeps to help detect data corruption during transfers of the specified metadata.
      Parameters:
      metadata - The metadata to get the checksum files for, must not be null.
      upload - false if the checksums are being downloaded/verified, true if the checksums are being uploaded/created.
      location - The relative URI to the metadata within the repository as previously obtained from getLocation(Metadata, boolean), must not be null.
      Returns:
      The checksum files for the given metadata, possibly empty but never null. If empty, that means that this layout does not provide checksums for given artifact.