View Javadoc

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  }