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.ObservableThe model for the set of profiles which are available in the workbench.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProfileManager.BuiltInProfileRepresents a built-in profile.static classProfileManager.CustomProfileRepresents a user-defined profile.static classProfileManager.KeySetstatic classProfileManager.ProfileRepresents a profile with a unique ID, a name and a map containing the code formatter settings.classProfileManager.SharedProfile
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringID_PREFIXA prefix which is prepended to every ID of a user-defined profile, in order to differentiate it from a built-in profile.static intPROFILE_CREATED_EVENTstatic intPROFILE_DELETED_EVENTstatic intPROFILE_RENAMED_EVENTstatic intSELECTION_CHANGED_EVENTThe possible events for observers listening to this class.static intSETTINGS_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 voidaddProfile(ProfileManager.CustomProfile profile)Add a new custom profile to this profile manager.voidclearAllSettings(org.eclipse.core.runtime.preferences.IScopeContext context)voidcommitChanges(org.eclipse.core.runtime.preferences.IScopeContext scopeContext)Activate the selected profile, update all necessary options in preferences and save profiles to disk.booleancontainsName(java.lang.String name)Check whether a user-defined profile in this profile manager already has this name.booleandeleteProfile(ProfileManager.CustomProfile profile)booleandeleteSelected()Delete the currently selected profile from this profile manager.abstract ProfileManager.ProfilegetDefaultProfile()ProfileManager.ProfilegetProfile(java.lang.String ID)Get the profile for this profile id.ProfileManager.ProfilegetSelected()Get the currently selected profile.protected java.lang.StringgetSelectedProfileId(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.booleanhasProjectSpecificSettings(org.eclipse.core.runtime.preferences.IScopeContext context)static booleanhasProjectSpecificSettings(org.eclipse.core.runtime.preferences.IScopeContext context, ProfileManager.KeySet[] keySets)protected voidnotifyObservers(int message)Notify observers with a message.voidprofileChanged(ProfileManager.CustomProfile profile)voidprofileRenamed(ProfileManager.CustomProfile profile, java.lang.String oldID)voidprofileReplaced(ProfileManager.CustomProfile oldProfile, ProfileManager.CustomProfile newProfile)voidsetSelected(ProfileManager.Profile profile)Set the selected profile.protected voidupdateProfilesWithName(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
trueif 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()
-
-