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 Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.List<ChecksumAlgorithmFactory> getChecksumAlgorithmFactories()
      Returns immutable list of ChecksumAlgorithmFactory this instance of layout uses, never null.
      java.util.List<RepositoryLayout.ChecksumLocation> getChecksumLocations​(org.eclipse.aether.artifact.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.
      java.util.List<RepositoryLayout.ChecksumLocation> getChecksumLocations​(org.eclipse.aether.metadata.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.
      java.net.URI getLocation​(org.eclipse.aether.artifact.Artifact artifact, boolean upload)
      Gets the location within a remote repository where the specified artifact resides.
      java.net.URI 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 Detail

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

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

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

        java.util.List<RepositoryLayout.ChecksumLocationgetChecksumLocations​(org.eclipse.aether.artifact.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.ChecksumLocationgetChecksumLocations​(org.eclipse.aether.metadata.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.