1 package nl.toolforge.karma.core.boot;
2
3 import nl.toolforge.karma.core.ErrorCode;
4 import nl.toolforge.karma.core.location.Location;
5 import nl.toolforge.karma.core.module.Module;
6 import nl.toolforge.karma.core.vc.AuthenticationException;
7 import nl.toolforge.karma.core.vc.VersionControlException;
8
9 /***
10 * @author D.A. Smedes
11 * @version $Id: Store.java,v 1.4 2004/11/10 23:53:07 asmedes Exp $
12 */
13 public interface Store {
14 /***
15 * Updates the local checkout of the manifest store.
16 *
17 * @throws AuthenticationException When the location for this <code>Store</code> cannot be authenticated.
18 * @throws VersionControlException When the update failed.
19 */
20 void update() throws AuthenticationException, VersionControlException, WorkingContextException;
21
22 /***
23 * Assigns this <code>Store</code> a <code>Location</code>. The <code>Location</code> contains a module with
24 * administrative files for Karma to run.
25 *
26 * @param location The location for this store.
27 */
28 void setLocation(Location location);
29
30 /***
31 * Sets the module name for this <code>ManifestStore</code>. This name is assumed to be the name of the module in a version
32 * control repository. The moduleName should be including any offset-directory in the version control system.
33 *
34 * @param moduleName The module name for the manifest store.
35 */
36 void setModuleName(String moduleName);
37
38 Module getModule();
39
40 String getModuleName();
41
42 /***
43 * Checks if the configuration of the store is ok.
44 *
45 * @return An ErrorCode instance with the first encountered error, or <code>null</code> if none happened.
46 */
47 ErrorCode checkConfiguration();
48 }