public interface RepositoryConnector extends Closeable
If applicable, a connector should obey connect/request timeouts and other relevant settings from the
configuration properties
of the repository
session it has been obtained for. However, a connector must not emit any events to the transfer listener configured
for the session. Instead, transfer events must be emitted only to the listener (if any) specified for a given
download/upload request.
Note: While a connector itself can use multiple threads internally to performs the transfers, clients must not call a connector concurrently, i.e. connectors are generally not thread-safe.
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this connector and frees any network resources associated with it.
|
void |
get(Collection<? extends ArtifactDownload> artifactDownloads,
Collection<? extends MetadataDownload> metadataDownloads)
Performs the specified downloads.
|
void |
put(Collection<? extends ArtifactUpload> artifactUploads,
Collection<? extends MetadataUpload> metadataUploads)
Performs the specified uploads.
|
void get(Collection<? extends ArtifactDownload> artifactDownloads, Collection<? extends MetadataDownload> metadataDownloads)
ArtifactTransfer.getException()
and
MetadataTransfer.getException()
, respectively. If reasonable, a connector should continue to process the
remaining downloads after an error to retrieve as many items as possible. The connector may perform the transfers
concurrently and in any order.artifactDownloads
- The artifact downloads to perform, may be null
or empty.metadataDownloads
- The metadata downloads to perform, may be null
or empty.void put(Collection<? extends ArtifactUpload> artifactUploads, Collection<? extends MetadataUpload> metadataUploads)
ArtifactTransfer.getException()
and
MetadataTransfer.getException()
, respectively. The connector may perform the transfers concurrently and in
any order.artifactUploads
- The artifact uploads to perform, may be null
or empty.metadataUploads
- The metadata uploads to perform, may be null
or empty.void close()
IllegalStateException
or similar. Closing
an already closed connector is harmless and has no effect.close
in interface AutoCloseable
close
in interface Closeable
Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.