01: package org.columba.core.gui.profiles;
02:
03: import org.columba.core.xml.XmlElement;
04:
05: /**
06: * Manages profiles consisting of configuration folders.
07: * <p>
08: * Every profile has a name and a loation pointing to the configuration folder.
09: * <p>
10: * A profiles.xml configuration file is saved in the default config directory,
11: * storing all profiles information.
12: *
13: * @author fdietz
14: */
15: public interface IProfileManager {
16:
17: /**
18: * Get profile with name
19: *
20: * @param name
21: * name of class
22: *
23: * @return return profile if available. Otherwise, return null
24: */
25: public abstract Profile getProfileForName(String name);
26:
27: /**
28: * Get profile.
29: *
30: * @param location
31: * location of config folder
32: *
33: * @return profile if available. Otherwise, return null
34: */
35: public abstract Profile getProfile(String location);
36:
37: /**
38: * Get formely selected profile. This was selected on the previous startup
39: * of Columba.
40: *
41: * @return selected profile
42: */
43: public abstract String getSelectedProfile();
44:
45: /**
46: * Get profiles configuration.
47: *
48: * @return top-level profiles node
49: */
50: public abstract XmlElement getProfiles();
51:
52: /**
53: * @return Returns the currentProfile.
54: */
55: public abstract Profile getCurrentProfile();
56:
57: }
|