blob: ad36d8ccc121a6ba34dc67ba5f852a74a5b2d427 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* xored software, Inc. - initial API and Implementation (Yuri Strot)
*******************************************************************************/
package org.eclipse.dltk.ui.formatter;
import java.util.List;
import java.util.Map;
/**
* The model for the set of profiles which are available in the workbench.
*/
public interface IProfileManager {
public boolean isDirty();
/**
* 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 by
* <code>getSortedNames</code>.
*
* @return a list of elements of type <code>IProfile</code>
*
* @see #getSortedDisplayNames()
*/
public List<IProfile> getSortedProfiles();
/**
* 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
* by <code>getSortedProfiles</code>.
*
* @return All names, sorted alphabetically
* @see #getSortedProfiles()
*/
public String[] getSortedDisplayNames();
/**
* Check whether a user-defined profile in this profile manager already has
* this name.
*
* @param name
* The name to test for
* @return Returns <code>true</code> if a profile with the given name exists
*/
public boolean containsName(String name);
public IProfile findProfile(String profileId);
/**
* Get the currently selected profile.
*
* @return The currently selected profile.
*/
public IProfile getSelected();
/**
* Set the selected profile. The profile must already be contained in this
* profile manager.
*
* @param profile
* The profile to select
*/
public void setSelected(IProfile profile);
/**
* Add a new custom profile to this profile manager.
*
* @param profile
* The profile to add
*/
public void addProfile(IProfile profile);
/**
* Delete passed profile from this profile manager. The next profile in the
* list is selected.
*
* @return true if the profile has been successfully removed, false
* otherwise.
*/
public boolean deleteProfile(IProfile profile);
/**
* Rename profile to specified newName and return result profile
*
* @param profile
* profile to rename
* @param newName
* new profile name
*
* @return profile with specified name
*/
public IProfile rename(IProfile profile, String newName);
/**
* @param profileName
* @param settings
* @param formatterId
* @param version
* @return
*/
public IProfile create(ProfileKind kind, String profileName,
Map<String, String> settings, String formatterId, int version);
public void markDirty();
/**
*
*/
public void clearDirty();
}