From aaf664ed3ed72064cbebcac841b84a9bee5eb64b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 9 May 2012 17:25:42 +0200 Subject: [PATCH] ArchiveFileType -> core-api --- .../intellij/ide/highlighter/ArchiveFileType.java | 15 ++++++++++++--- .../com/intellij/openapi/fileTypes/FileTypes.java | 6 ++++-- .../fileTypes/impl/PlatformFileTypeFactory.java | 4 ++-- 3 files changed, 18 insertions(+), 7 deletions(-) rename platform/{platform-impl => core-api}/src/com/intellij/ide/highlighter/ArchiveFileType.java (76%) diff --git a/platform/platform-impl/src/com/intellij/ide/highlighter/ArchiveFileType.java b/platform/core-api/src/com/intellij/ide/highlighter/ArchiveFileType.java similarity index 76% rename from platform/platform-impl/src/com/intellij/ide/highlighter/ArchiveFileType.java rename to platform/core-api/src/com/intellij/ide/highlighter/ArchiveFileType.java index de21b733bdf0..86f90ca749a2 100644 --- a/platform/platform-impl/src/com/intellij/ide/highlighter/ArchiveFileType.java +++ b/platform/core-api/src/com/intellij/ide/highlighter/ArchiveFileType.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,22 @@ package com.intellij.ide.highlighter; import com.intellij.ide.IdeBundle; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.util.IconLoader; +import com.intellij.openapi.util.NotNullLazyValue; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import javax.swing.*; public class ArchiveFileType implements FileType { - private static final Icon ICON = IconLoader.getIcon("/fileTypes/archive.png"); + private static final NotNullLazyValue ICON = new NotNullLazyValue() { + @NotNull + @Override + protected Icon compute() { + return IconLoader.getIcon("/fileTypes/archive.png"); + } + }; + + public static final ArchiveFileType INSTANCE = new ArchiveFileType(); @NotNull public String getName() { @@ -42,7 +51,7 @@ public class ArchiveFileType implements FileType { } public Icon getIcon() { - return ICON; + return ICON.getValue(); } public boolean isBinary() { diff --git a/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypes.java b/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypes.java index 2e31db852d82..5ae536e51b6f 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypes.java +++ b/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypes.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2012 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,13 +15,15 @@ */ package com.intellij.openapi.fileTypes; +import com.intellij.ide.highlighter.ArchiveFileType; + /** * @author max */ public class FileTypes { protected FileTypes() { } - public static final FileType ARCHIVE = FileTypeManager.getInstance().getStdFileType("ARCHIVE"); + public static final FileType ARCHIVE = ArchiveFileType.INSTANCE; public static final FileType UNKNOWN = UnknownFileType.INSTANCE; public static final LanguageFileType PLAIN_TEXT = (LanguageFileType)FileTypeManager.getInstance().getStdFileType("PLAIN_TEXT"); } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/PlatformFileTypeFactory.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/PlatformFileTypeFactory.java index 21aa28b4b20f..4c7deae62990 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/PlatformFileTypeFactory.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/PlatformFileTypeFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2012 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ import org.jetbrains.annotations.NotNull; */ public class PlatformFileTypeFactory extends FileTypeFactory { public void createFileTypes(@NotNull final FileTypeConsumer consumer) { - consumer.consume(new ArchiveFileType(), "zip;jar;war;ear;swc;ane;egg;apk"); + consumer.consume(ArchiveFileType.INSTANCE, "zip;jar;war;ear;swc;ane;egg;apk"); consumer.consume(PlainTextFileType.INSTANCE, "txt;sh;bat;cmd;policy;log;cgi;MF;jad;jam;htaccess"); consumer.consume(NativeFileType.INSTANCE, "doc;xls;ppt;mdb;vsd;pdf;hlp;chm;odt"); consumer.consume(UnknownFileType.INSTANCE);