Package org.eclipse.aether.spi.connector
Class ArtifactDownload
- java.lang.Object
-
- org.eclipse.aether.spi.connector.Transfer
-
- org.eclipse.aether.spi.connector.ArtifactTransfer
-
- org.eclipse.aether.spi.connector.ArtifactDownload
-
public final class ArtifactDownload extends ArtifactTransfer
A download of an artifact from a remote repository. A repository connector processing this download has to usesetException(ArtifactTransferException)
andsetSupportedContexts(Collection)
(if applicable) to report the results of the transfer.
-
-
Constructor Summary
Constructors Constructor Description ArtifactDownload()
Creates a new uninitialized download.ArtifactDownload(Artifact artifact, String context, File file, String checksumPolicy)
Creates a new download with the specified properties.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getChecksumPolicy()
Gets the checksum policy for this transfer.File
getFile()
Gets the local file the artifact is downloaded to or uploaded from.List<RemoteRepository>
getRepositories()
Gets the remote repositories that are being aggregated by the physically contacted remote repository (i.e.String
getRequestContext()
Gets the context of this transfer.Collection<String>
getSupportedContexts()
Gets the set of request contexts in which the artifact is generally available.boolean
isExistenceCheck()
Indicates whether this transfer shall only verify the existence of the artifact in the remote repository rather than actually downloading the file.ArtifactDownload
setArtifact(Artifact artifact)
Sets the artifact to transfer.ArtifactDownload
setChecksumPolicy(String checksumPolicy)
Sets the checksum policy for this transfer.ArtifactDownload
setException(ArtifactTransferException exception)
Sets the exception that occurred during the transfer.ArtifactDownload
setExistenceCheck(boolean existenceCheck)
Controls whether this transfer shall only verify the existence of the artifact in the remote repository rather than actually downloading the file.ArtifactDownload
setFile(File file)
Sets the local file the artifact is downloaded to or uploaded from.ArtifactDownload
setListener(TransferListener listener)
ArtifactDownload
setRepositories(List<RemoteRepository> repositories)
Sets the remote repositories that are being aggregated by the physically contacted remote repository (i.e.ArtifactDownload
setRequestContext(String context)
Sets the context of this transfer.ArtifactDownload
setSupportedContexts(Collection<String> contexts)
Sets the set of request contexts in which the artifact is generally available.ArtifactDownload
setTrace(RequestTrace trace)
String
toString()
-
Methods inherited from class org.eclipse.aether.spi.connector.ArtifactTransfer
getArtifact, getException
-
Methods inherited from class org.eclipse.aether.spi.connector.Transfer
getListener, getTrace
-
-
-
-
Constructor Detail
-
ArtifactDownload
public ArtifactDownload()
Creates a new uninitialized download.
-
ArtifactDownload
public ArtifactDownload(Artifact artifact, String context, File file, String checksumPolicy)
Creates a new download with the specified properties.- Parameters:
artifact
- The artifact to download, may benull
.context
- The context in which this download is performed, may benull
.file
- The local file to download the artifact to, may benull
.checksumPolicy
- The checksum policy, may benull
.
-
-
Method Detail
-
setArtifact
public ArtifactDownload setArtifact(Artifact artifact)
Description copied from class:ArtifactTransfer
Sets the artifact to transfer.- Overrides:
setArtifact
in classArtifactTransfer
- Parameters:
artifact
- The artifact, may benull
.- Returns:
- This transfer for chaining, never
null
.
-
getFile
public File getFile()
Gets the local file the artifact is downloaded to or uploaded from. In case of a download, a connector should first transfer the bytes to a temporary file and only overwrite the target file once the entire download is completed such that an interrupted/failed download does not corrupt the current file contents. Note: In case ofisExistenceCheck()
, this method may returnnull
.- Overrides:
getFile
in classArtifactTransfer
- Returns:
- The local file or
null
if not set.
-
setFile
public ArtifactDownload setFile(File file)
Description copied from class:ArtifactTransfer
Sets the local file the artifact is downloaded to or uploaded from.- Overrides:
setFile
in classArtifactTransfer
- Parameters:
file
- The local file, may benull
.- Returns:
- This transfer for chaining, never
null
.
-
isExistenceCheck
public boolean isExistenceCheck()
Indicates whether this transfer shall only verify the existence of the artifact in the remote repository rather than actually downloading the file. Just like with an actual transfer, a connector is expected to signal the non-existence of the artifact by associating anArtifactNotFoundException
with this download. Note: If an existence check is requested,getFile()
may benull
, i.e. the connector must not try to access the local file.- Returns:
true
if only the artifact existence shall be verified,false
to actually download the artifact.
-
setExistenceCheck
public ArtifactDownload setExistenceCheck(boolean existenceCheck)
Controls whether this transfer shall only verify the existence of the artifact in the remote repository rather than actually downloading the file.- Parameters:
existenceCheck
-true
if only the artifact existence shall be verified,false
to actually download the artifact.- Returns:
- This transfer for chaining, never
null
.
-
getChecksumPolicy
public String getChecksumPolicy()
Gets the checksum policy for this transfer.- Returns:
- The checksum policy, never
null
.
-
setChecksumPolicy
public ArtifactDownload setChecksumPolicy(String checksumPolicy)
Sets the checksum policy for this transfer.- Parameters:
checksumPolicy
- The checksum policy, may benull
.- Returns:
- This transfer for chaining, never
null
.
-
getRequestContext
public String getRequestContext()
Gets the context of this transfer.- Returns:
- The context id, never
null
.
-
setRequestContext
public ArtifactDownload setRequestContext(String context)
Sets the context of this transfer.- Parameters:
context
- The context id, may benull
.- Returns:
- This transfer for chaining, never
null
.
-
getSupportedContexts
public Collection<String> getSupportedContexts()
Gets the set of request contexts in which the artifact is generally available. Repository managers can indicate that an artifact is available in more than the requested context to avoid future remote trips for the same artifact in a different context.- Returns:
- The set of requests context in which the artifact is available, never
null
.
-
setSupportedContexts
public ArtifactDownload setSupportedContexts(Collection<String> contexts)
Sets the set of request contexts in which the artifact is generally available. Repository managers can indicate that an artifact is available in more than the requested context to avoid future remote trips for the same artifact in a different context. The set of supported contexts defaults to the original request context if not overridden by the repository connector.- Parameters:
contexts
- The set of requests context in which the artifact is available, may benull
.- Returns:
- This transfer for chaining, never
null
.
-
getRepositories
public List<RemoteRepository> getRepositories()
Gets the remote repositories that are being aggregated by the physically contacted remote repository (i.e. a repository manager).- Returns:
- The remote repositories being aggregated, never
null
.
-
setRepositories
public ArtifactDownload setRepositories(List<RemoteRepository> repositories)
Sets the remote repositories that are being aggregated by the physically contacted remote repository (i.e. a repository manager).- Parameters:
repositories
- The remote repositories being aggregated, may benull
.- Returns:
- This transfer for chaining, never
null
.
-
setException
public ArtifactDownload setException(ArtifactTransferException exception)
Description copied from class:ArtifactTransfer
Sets the exception that occurred during the transfer.- Overrides:
setException
in classArtifactTransfer
- Parameters:
exception
- The exception, may benull
to denote a successful transfer.- Returns:
- This transfer for chaining, never
null
.
-
setListener
public ArtifactDownload setListener(TransferListener listener)
-
setTrace
public ArtifactDownload setTrace(RequestTrace trace)
-
-