Class ProfileManager
- java.lang.Object
-
- java.util.Observable
-
- org.eclipse.m2m.atl.adt.ui.preferences.ProfileManager
-
- Direct Known Subclasses:
AtlCodeFormatterProfileManager
public abstract class ProfileManager extends java.util.Observable
The model for the set of profiles which are available in the workbench.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ProfileManager.BuiltInProfile
Represents a built-in profile.static class
ProfileManager.CustomProfile
Represents a user-defined profile.static class
ProfileManager.KeySet
static class
ProfileManager.Profile
Represents a profile with a unique ID, a name and a map containing the code formatter settings.class
ProfileManager.SharedProfile
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ID_PREFIX
A prefix which is prepended to every ID of a user-defined profile, in order to differentiate it from a built-in profile.static int
PROFILE_CREATED_EVENT
static int
PROFILE_DELETED_EVENT
static int
PROFILE_RENAMED_EVENT
static int
SELECTION_CHANGED_EVENT
The possible events for observers listening to this class.static int
SETTINGS_CHANGED_EVENT
-
Constructor Summary
Constructors Constructor Description ProfileManager(java.util.List<ProfileManager.Profile> profiles, org.eclipse.core.runtime.preferences.IScopeContext context, PreferencesAccess preferencesAccess, ProfileManager.KeySet[] keySets, java.lang.String profileKey)
Create and initialize a new profile manager.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addProfile(ProfileManager.CustomProfile profile)
Add a new custom profile to this profile manager.void
clearAllSettings(org.eclipse.core.runtime.preferences.IScopeContext context)
void
commitChanges(org.eclipse.core.runtime.preferences.IScopeContext scopeContext)
Activate the selected profile, update all necessary options in preferences and save profiles to disk.boolean
containsName(java.lang.String name)
Check whether a user-defined profile in this profile manager already has this name.boolean
deleteProfile(ProfileManager.CustomProfile profile)
boolean
deleteSelected()
Delete the currently selected profile from this profile manager.abstract ProfileManager.Profile
getDefaultProfile()
ProfileManager.Profile
getProfile(java.lang.String ID)
Get the profile for this profile id.ProfileManager.Profile
getSelected()
Get the currently selected profile.protected java.lang.String
getSelectedProfileId(org.eclipse.core.runtime.preferences.IScopeContext instanceScope)
java.lang.String[]
getSortedDisplayNames()
Get the names of all profiles stored in this profile manager, sorted alphabetically.java.util.List<ProfileManager.Profile>
getSortedProfiles()
Get an immutable list as view on all profiles, sorted alphabetically.boolean
hasProjectSpecificSettings(org.eclipse.core.runtime.preferences.IScopeContext context)
static boolean
hasProjectSpecificSettings(org.eclipse.core.runtime.preferences.IScopeContext context, ProfileManager.KeySet[] keySets)
protected void
notifyObservers(int message)
Notify observers with a message.void
profileChanged(ProfileManager.CustomProfile profile)
void
profileRenamed(ProfileManager.CustomProfile profile, java.lang.String oldID)
void
profileReplaced(ProfileManager.CustomProfile oldProfile, ProfileManager.CustomProfile newProfile)
void
setSelected(ProfileManager.Profile profile)
Set the selected profile.protected void
updateProfilesWithName(java.lang.String oldName, ProfileManager.Profile newProfile, boolean applySettings)
-
-
-
Field Detail
-
ID_PREFIX
public static final java.lang.String ID_PREFIX
A prefix which is prepended to every ID of a user-defined profile, in order to differentiate it from a built-in profile.- See Also:
- Constant Field Values
-
SELECTION_CHANGED_EVENT
public static final int SELECTION_CHANGED_EVENT
The possible events for observers listening to this class.- See Also:
- Constant Field Values
-
PROFILE_DELETED_EVENT
public static final int PROFILE_DELETED_EVENT
- See Also:
- Constant Field Values
-
PROFILE_RENAMED_EVENT
public static final int PROFILE_RENAMED_EVENT
- See Also:
- Constant Field Values
-
PROFILE_CREATED_EVENT
public static final int PROFILE_CREATED_EVENT
- See Also:
- Constant Field Values
-
SETTINGS_CHANGED_EVENT
public static final int SETTINGS_CHANGED_EVENT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ProfileManager
public ProfileManager(java.util.List<ProfileManager.Profile> profiles, org.eclipse.core.runtime.preferences.IScopeContext context, PreferencesAccess preferencesAccess, ProfileManager.KeySet[] keySets, java.lang.String profileKey)
Create and initialize a new profile manager.- Parameters:
profiles
- Initial custom profiles (List of typeCustomProfile
)
-
-
Method Detail
-
getSelectedProfileId
protected java.lang.String getSelectedProfileId(org.eclipse.core.runtime.preferences.IScopeContext instanceScope)
-
notifyObservers
protected void notifyObservers(int message)
Notify observers with a message. The message must be one of the following:- Parameters:
message
- Message to send out- See Also:
SELECTION_CHANGED_EVENT
,PROFILE_DELETED_EVENT
,PROFILE_RENAMED_EVENT
,PROFILE_CREATED_EVENT
,SETTINGS_CHANGED_EVENT
-
hasProjectSpecificSettings
public static boolean hasProjectSpecificSettings(org.eclipse.core.runtime.preferences.IScopeContext context, ProfileManager.KeySet[] keySets)
-
hasProjectSpecificSettings
public boolean hasProjectSpecificSettings(org.eclipse.core.runtime.preferences.IScopeContext context)
-
getSortedProfiles
public java.util.List<ProfileManager.Profile> getSortedProfiles()
Get an immutable list as view on all profiles, sorted alphabetically. Unless the set of profiles has been modified between the two calls, the sequence is guaranteed to correspond to the one returned bygetSortedNames
.- Returns:
- a list of elements of type
Profile
- See Also:
getSortedDisplayNames()
-
getSortedDisplayNames
public java.lang.String[] getSortedDisplayNames()
Get the names of all profiles stored in this profile manager, sorted alphabetically. Unless the set of profiles has been modified between the two calls, the sequence is guaranteed to correspond to the one returned bygetSortedProfiles
.- Returns:
- All names, sorted alphabetically
- See Also:
getSortedProfiles()
-
getProfile
public ProfileManager.Profile getProfile(java.lang.String ID)
Get the profile for this profile id.- Parameters:
ID
- The profile ID- Returns:
- The profile with the given ID or
null
-
commitChanges
public void commitChanges(org.eclipse.core.runtime.preferences.IScopeContext scopeContext)
Activate the selected profile, update all necessary options in preferences and save profiles to disk.
-
clearAllSettings
public void clearAllSettings(org.eclipse.core.runtime.preferences.IScopeContext context)
-
getSelected
public ProfileManager.Profile getSelected()
Get the currently selected profile.- Returns:
- The currently selected profile.
-
setSelected
public void setSelected(ProfileManager.Profile profile)
Set the selected profile. The profile must already be contained in this profile manager.- Parameters:
profile
- The profile to select
-
containsName
public boolean containsName(java.lang.String name)
Check whether a user-defined profile in this profile manager already has this name.- Parameters:
name
- The name to test for- Returns:
- Returns
true
if a profile with the given name exists
-
addProfile
public void addProfile(ProfileManager.CustomProfile profile)
Add a new custom profile to this profile manager.- Parameters:
profile
- The profile to add
-
deleteSelected
public boolean deleteSelected()
Delete the currently selected profile from this profile manager. The next profile in the list is selected.- Returns:
- true if the profile has been successfully removed, false otherwise.
-
deleteProfile
public boolean deleteProfile(ProfileManager.CustomProfile profile)
-
profileRenamed
public void profileRenamed(ProfileManager.CustomProfile profile, java.lang.String oldID)
-
profileReplaced
public void profileReplaced(ProfileManager.CustomProfile oldProfile, ProfileManager.CustomProfile newProfile)
-
profileChanged
public void profileChanged(ProfileManager.CustomProfile profile)
-
updateProfilesWithName
protected void updateProfilesWithName(java.lang.String oldName, ProfileManager.Profile newProfile, boolean applySettings)
-
getDefaultProfile
public abstract ProfileManager.Profile getDefaultProfile()
-
-