lvcs-impl
[idea/community.git] / lang-api / src / com / intellij / profile / ProjectProfileManager.java
1 /*
2  * Copyright 2000-2007 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.intellij.profile;
17
18 import com.intellij.openapi.project.Project;
19 import com.intellij.openapi.util.JDOMExternalizable;
20 import org.jetbrains.annotations.Nullable;
21
22 /**
23  * User: anna
24  * Date: 30-Nov-2005
25  */
26 public abstract class ProjectProfileManager implements ProfileManager, JDOMExternalizable {
27
28   @Nullable
29   public static ProjectProfileManager getProjectProfileManager(Project project, String profileType){
30     final ProjectProfileManager[] components = project.getComponents(ProjectProfileManager.class);
31     for (ProjectProfileManager manager : components) {
32       if (manager.getProfileType().compareTo(profileType) == 0){
33         return manager;
34       }
35     }
36     return null;
37   }
38
39   public abstract String getProfileName();
40
41   public abstract String getProjectProfile();
42   public abstract void setProjectProfile(final String projectProfile);
43 }