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 ClassesModifier and TypeInterfaceDescriptionstatic final classA descriptor for a checksum location. -
Method Summary
Modifier and TypeMethodDescriptionReturns immutable list ofChecksumAlgorithmFactorythis instance of layout uses, nevernull.default List<ChecksumAlgorithmFactory> getChecksumAlgorithmFactories(boolean upload) Returns immutable list ofChecksumAlgorithmFactorythis instance of layout uses for download or upload, nevernull.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.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.getLocation(Artifact artifact, boolean upload) Gets the location within a remote repository where the specified artifact resides.getLocation(Metadata metadata, boolean upload) Gets the location within a remote repository where the specified metadata resides.booleanhasChecksums(Artifact artifact) Tells whether given artifact have remote external checksums according to current layout or not.
-
Method Details
-
getChecksumAlgorithmFactories
Returns immutable list ofChecksumAlgorithmFactorythis instance of layout uses, nevernull. This (legacy, but not deprecated) method will return all checksums this layout uses, but these may be different in case upload or download checksums are explicitly configured. This method will reflect the checksum order used for download, but may have more elements than actually used in download validation, if the generated checksums for upload has extra elements.- Since:
- 1.8.0
- See Also:
-
getChecksumAlgorithmFactories
Returns immutable list ofChecksumAlgorithmFactorythis instance of layout uses for download or upload, nevernull. The order also represents the order how remote external checksums are retrieved and validated (if for download).- Parameters:
upload-falseif the caller needs checksums used for download validation, ortrueif the caller needs checksums generated for upload.- Since:
- 2.0.15
- See Also:
-
hasChecksums
Tells whether given artifact have remote external checksums according to current layout or not. If it returnstrue, 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 returnsfalsethe 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. SeeChecksumPolicy.ChecksumKind.REMOTE_EXTERNAL. On download, thegetChecksumAlgorithmFactories(boolean)layout required checksums are calculated, and non layout-provided checksums are still utilized. Typical case to returnfalse(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
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 benull.upload-falseif the artifact is being downloaded,trueif the artifact is being uploaded.- Returns:
- The relative URI to the artifact, never
null.
-
getLocation
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 benull.upload-falseif the metadata is being downloaded,trueif the metadata is being uploaded.- Returns:
- The relative URI to the metadata, never
null.
-
getChecksumLocations
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.- Parameters:
artifact- The artifact to get the checksum files for, must not benull.upload-falseif the checksums are being downloaded/verified,trueif the checksums are being uploaded/created.location- The relative URI to the artifact within the repository as previously obtained fromgetLocation(Artifact, boolean), must not benull.- 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(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 benull.upload-falseif the checksums are being downloaded/verified,trueif the checksums are being uploaded/created.location- The relative URI to the metadata within the repository as previously obtained fromgetLocation(Metadata, boolean), must not benull.- 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.
-