/*
* Copyright (c) 2003-2004 Christopher Lenz and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* Christopher Lenz - initial API
*
* $Id: IProfileManager.java,v 1.1 2004-09-02 18:07:14 jsurfer Exp $
*/
package net.sourceforge.phpeclipse.css.core.profiles;
import org.eclipse.core.resources.IResource;
/**
* Manages the CSS profiles.
*/
public interface IProfileManager {
/**
* Returns the list of available profiles.
*
* @return an array containing the descriptors of all available profiles
*/
IProfileDescriptor[] getProfileDescriptors();
/**
* Returns the profile that is selected for the specified resource or
* project.
*
* @param resource the resource for which the profile should be retrieved,
* or null
to retrieve the default profile as specified
* in the plugin preferences
* @return the profile
*/
IProfile getProfile(IResource resource);
/**
* Sets the profile that should be used for the specified resource. If the
* resource is an IProject
, the profile will be used as the
* default profile for all resources in the project. Otherwise, it will be
* used only for the resource. If the resource is null
, the
* profile will be selected as the global default profile.
*
* @param resource
* @param profileId The ID of the profile
*/
void setProfile(IResource resource, String profileId);
}