1 package uk.ac.cam.spectra.spectrasub;
2
3 /**
4 * <p>
5 * Defines the contract for components that take data packages and deposit them
6 * in repositories.
7 * </p>
8 *
9 * <p>
10 * This is a minimal interface in order to retain as much flexibility as
11 * possible about the nature / software of the repository.
12 * </p>
13 *
14 * @author ojd20
15 *
16 */
17 public interface Depositor {
18
19 /**
20 * Deposit a package into some repository and return a reference to the
21 * deposited package.
22 *
23 * @param packageId
24 * internal identifier for the package.
25 * @return Reference (preferably a URL) to the deposited package.
26 */
27 String deposit(String packageId);
28
29 }