public interface RepositoryLayout
Note: Implementations must be stateless.
Modifier and Type | Interface and Description |
---|---|
static class |
RepositoryLayout.ChecksumLocation
A descriptor for a checksum location.
|
Modifier and Type | Method and Description |
---|---|
List<ChecksumAlgorithmFactory> |
getChecksumAlgorithmFactories()
Returns immutable list of
ChecksumAlgorithmFactory this instance of layout uses, never null . |
List<RepositoryLayout.ChecksumLocation> |
getChecksumLocations(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.
|
List<RepositoryLayout.ChecksumLocation> |
getChecksumLocations(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.
|
URI |
getLocation(Artifact artifact,
boolean upload)
Gets the location within a remote repository where the specified artifact resides.
|
URI |
getLocation(Metadata metadata,
boolean upload)
Gets the location within a remote repository where the specified metadata resides.
|
boolean |
hasChecksums(Artifact artifact)
Tells whether given artifact have remote external checksums according to current layout or not.
|
List<ChecksumAlgorithmFactory> getChecksumAlgorithmFactories()
ChecksumAlgorithmFactory
this instance of layout uses, never null
.
The order also represents the order how remote external checksums are retrieved and validated.ChecksumPolicy.ChecksumKind
boolean hasChecksums(Artifact artifact)
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.ChecksumPolicy.ChecksumKind
,
getChecksumAlgorithmFactories()
URI getLocation(Artifact artifact, boolean upload)
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.null
.URI getLocation(Metadata metadata, boolean upload)
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.null
.List<RepositoryLayout.ChecksumLocation> getChecksumLocations(Artifact artifact, boolean upload, URI location)
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
.null
. If empty, that means
that this layout does not provide checksums for given artifact.List<RepositoryLayout.ChecksumLocation> getChecksumLocations(Metadata metadata, boolean upload, URI location)
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
.null
. If empty, that means
that this layout does not provide checksums for given artifact.Copyright © 2010–2022 The Apache Software Foundation. All rights reserved.