Interface RepositoryLayout

    • Method Detail

      • 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:
        ChecksumPolicy.ChecksumKind, getChecksumAlgorithmFactories()
      • getLocation

        java.net.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

        java.net.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

        java.util.List<RepositoryLayout.ChecksumLocation> getChecksumLocations​(Artifact artifact,
                                                                               boolean upload,
                                                                               java.net.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

        java.util.List<RepositoryLayout.ChecksumLocation> getChecksumLocations​(Metadata metadata,
                                                                               boolean upload,
                                                                               java.net.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.