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 }