org.apache.ivy.plugins.repository

Interface Repository

public interface Repository

Represents a collection of resources available to Ivy. Ivy uses one or more repositories as both a source of resources for Ivy enabled build systems and as a distribution center for resources generated by Ivy enabled build systems.

A repository supports the following fundamental operations

Resource Retrieval

Repository retrieves a resource specified by a provided identifier creating a new file .

resource Publication

Repository transfers a file to the repository.

resource Listing

Repository returns a listing of file like objects belonging to a specified parent directory.

Method Summary
voidaddTransferListener(TransferListener listener)
Add a listener to the repository.
voidget(String source, File destination)
Fetch a resource from the repository.
StringgetFileSeparator()
Get the repository's file separator string.
StringgetName()
Return the name of the repository
ResourcegetResource(String source)
Return the resource associated with a specified identifier.
booleanhasTransferListener(TransferListener listener)
Determine if a given listener is attached to the repository.
Listlist(String parent)
Return a listing of resources names
voidput(Artifact artifact, File source, String destination, boolean overwrite)
Transfer a resource to the repository
voidremoveTransferListener(TransferListener listener)
Remove a listener on the repository
Stringstandardize(String source)
Normalize a string.

Method Detail

addTransferListener

public void addTransferListener(TransferListener listener)
Add a listener to the repository.

Parameters: listener The listener to attach to the repository.

get

public void get(String source, File destination)
Fetch a resource from the repository.

Parameters: source A string identifying the resource to be fetched. destination Where to place the fetched resource.

Throws: IOException On retrieval failure.

getFileSeparator

public String getFileSeparator()
Get the repository's file separator string.

Returns: The repository's file separator delimiter

getName

public String getName()
Return the name of the repository

getResource

public Resource getResource(String source)
Return the resource associated with a specified identifier. If the resource does not exist, it should return a Resource with exists() returning false. An IOException should only be thrown when a real IO problem occurs, like the impossibility to connect to a server.

Parameters: source A string identifying the resource.

Returns: The resource associated with the resource identifier.

Throws: IOException On error while trying to get resource.

hasTransferListener

public boolean hasTransferListener(TransferListener listener)
Determine if a given listener is attached to the repository.

Parameters: listener The listener being queried

Returns: true if the provided listener is attached to the repository, false if not.

list

public List list(String parent)
Return a listing of resources names

Parameters: parent The parent directory from which to generate the listing.

Returns: A listing of the parent directory's file content, as a List of String.

Throws: IOException On listing failure.

put

public void put(Artifact artifact, File source, String destination, boolean overwrite)
Transfer a resource to the repository

Parameters: artifact The artifact to be transferred. source The local file to be transferred. destination Where to transfer the resource. overwrite Whether the transfer should overwrite an existing resource.

Throws: IOException On publication failure.

removeTransferListener

public void removeTransferListener(TransferListener listener)
Remove a listener on the repository

Parameters: listener The listener to remove

standardize

public String standardize(String source)
Normalize a string.

Parameters: source The string to normalize.

Returns: The normalized string.