lvcs-impl
[idea/community.git] / platform / lang-api / src / com / intellij / execution / configurations / UnknownConfigurationType.java
1 /*
2  * Copyright 2000-2009 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
17 package com.intellij.execution.configurations;
18
19 import com.intellij.openapi.util.IconLoader;
20 import com.intellij.openapi.project.Project;
21 import org.jetbrains.annotations.NotNull;
22
23 import javax.swing.*;
24
25 /**
26  * @author spleaner
27  */
28 public class UnknownConfigurationType implements ConfigurationType {
29
30   public static final UnknownConfigurationType INSTANCE = new UnknownConfigurationType();
31
32   private static final Icon ICON = IconLoader.getIcon("/runConfigurations/unknown.png");
33   public static final String NAME = "Unknown";
34
35   public String getDisplayName() {
36     return getId();
37   }
38
39   public String getConfigurationTypeDescription() {
40     return "Configuration which cannot be loaded due to some resons";
41   }
42
43   public Icon getIcon() {
44     return ICON;
45   }
46
47   @NotNull
48   public String getId() {
49     return NAME;
50   }
51
52   public ConfigurationFactory[] getConfigurationFactories() {
53     return new ConfigurationFactory[] {new ConfigurationFactory(new UnknownConfigurationType()) {
54       @Override
55       public RunConfiguration createTemplateConfiguration(final Project project) {
56         return new UnknownRunConfiguration(this, project);
57       }
58     }};
59   }
60 }