org.apache.ivy.plugins.repository
Interface Repository

All Known Implementing Classes:
AbstractRepository, AbstractSshBasedRepository, FileRepository, SFTPRepository, SshRepository, URLRepository, VsftpRepository

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

get(java.lang.String, java.io.File) retrieves a resource specified by a provided identifier creating a new file .

resource Publication

put(org.apache.ivy.core.module.descriptor.Artifact, java.io.File, java.lang.String, boolean) transfers a file to the repository.

resource Listing

list(java.lang.String) returns a listing of file like objects belonging to a specified parent directory.


Method Summary
 void addTransferListener(TransferListener listener)
          Add a listener to the repository.
 void get(java.lang.String source, java.io.File destination)
          Fetch a resource from the repository.
 java.lang.String getFileSeparator()
          Get the repository's file separator string.
 java.lang.String getName()
          Return the name of the repository
 Resource getResource(java.lang.String source)
          Return the resource associated with a specified identifier.
 boolean hasTransferListener(TransferListener listener)
          Determine if a given listener is attached to the repository.
 java.util.List list(java.lang.String parent)
          Return a listing of resources names
 void put(Artifact artifact, java.io.File source, java.lang.String destination, boolean overwrite)
          Transfer a resource to the repository
 void removeTransferListener(TransferListener listener)
          Remove a listener on the repository
 java.lang.String standardize(java.lang.String source)
          Normalize a string.
 

Method Detail

getResource

Resource getResource(java.lang.String source)
                     throws java.io.IOException
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:
java.io.IOException - On error while trying to get resource.

get

void get(java.lang.String source,
         java.io.File destination)
         throws java.io.IOException
Fetch a resource from the repository.

Parameters:
source - A string identifying the resource to be fetched.
destination - Where to place the fetched resource.
Throws:
java.io.IOException - On retrieval failure.

put

void put(Artifact artifact,
         java.io.File source,
         java.lang.String destination,
         boolean overwrite)
         throws java.io.IOException
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:
java.io.IOException - On publication failure.

list

java.util.List list(java.lang.String parent)
                    throws java.io.IOException
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:
java.io.IOException - On listing failure.

addTransferListener

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

Parameters:
listener - The listener to attach to the repository.

removeTransferListener

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

Parameters:
listener - The listener to remove

hasTransferListener

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.

getFileSeparator

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

Returns:
The repository's file separator delimiter

standardize

java.lang.String standardize(java.lang.String source)
Normalize a string.

Parameters:
source - The string to normalize.
Returns:
The normalized string.

getName

java.lang.String getName()
Return the name of the repository