FUS-450 add project as parameter to FileTypeUsageSchemaDescriptor
[idea/community.git] / plugins / maven / src / main / java / org / jetbrains / idea / maven / plugins / groovy / MavenGroovyScriptTypeDetector.java
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package org.jetbrains.idea.maven.plugins.groovy;
3
4 import com.intellij.internal.statistic.collectors.fus.fileTypes.FileTypeUsageSchemaDescriptor;
5 import com.intellij.openapi.fileTypes.FileTypeRegistry;
6 import com.intellij.openapi.project.Project;
7 import com.intellij.openapi.vfs.VirtualFile;
8 import org.jetbrains.annotations.NotNull;
9 import org.jetbrains.plugins.groovy.GroovyFileType;
10 import org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector;
11 import org.jetbrains.plugins.groovy.lang.psi.GroovyFile;
12
13 /**
14  * @author Vladislav.Soroka
15  */
16 public class MavenGroovyScriptTypeDetector extends GroovyScriptTypeDetector implements FileTypeUsageSchemaDescriptor {
17   public MavenGroovyScriptTypeDetector() {
18     super(MavenGroovyPomScriptType.INSTANCE);
19   }
20
21   @Override
22   public boolean isSpecificScriptFile(@NotNull GroovyFile script) {
23     return isMavenGroovyScript(script.getViewProvider().getVirtualFile());
24   }
25
26   @Override
27   public boolean describes(@NotNull Project project, @NotNull VirtualFile file) {
28     return isMavenGroovyScript(file);
29   }
30
31   private static boolean isMavenGroovyScript(@NotNull VirtualFile file) {
32     return FileTypeRegistry.getInstance().isFileOfType(file, GroovyFileType.GROOVY_FILE_TYPE) && "pom".equals(file.getNameWithoutExtension());
33   }
34 }