Interface RepositoryLayout


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

Note: Implementations must be stateless.

  • 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(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(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(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

      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

      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.