6284fc653a17636ff1e6dc229976c496e6764a0c
[idea/community.git] / platform / projectModel-api / src / com / intellij / ide / highlighter / ProjectFileType.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 package com.intellij.ide.highlighter;
17
18 import com.intellij.icons.AllIcons;
19 import com.intellij.ide.IdeBundle;
20 import com.intellij.openapi.fileTypes.InternalFileType;
21 import com.intellij.openapi.vfs.CharsetToolkit;
22 import com.intellij.openapi.vfs.VirtualFile;
23 import org.jetbrains.annotations.NonNls;
24 import org.jetbrains.annotations.NotNull;
25
26 import javax.swing.*;
27
28 public class ProjectFileType implements InternalFileType {
29   @NonNls public static final String DEFAULT_EXTENSION = "ipr";
30   @NonNls public static final String DOT_DEFAULT_EXTENSION = ".ipr";
31
32   @NotNull
33   public String getName() {
34     return "IDEA_PROJECT";
35   }
36
37   @NotNull
38   public String getDescription() {
39     return IdeBundle.message("filetype.description.idea.project");
40   }
41
42   @NotNull
43   public String getDefaultExtension() {
44     return DEFAULT_EXTENSION;
45   }
46
47   public Icon getIcon() {
48     return AllIcons.Nodes.IdeaProject;
49   }
50
51   public boolean isBinary() {
52     return false;
53   }
54
55   public boolean isReadOnly() {
56     return true;
57   }
58
59   public String getCharset(@NotNull VirtualFile file, final byte[] content) {
60     return CharsetToolkit.UTF8;
61   }
62 }