shared-indexes tests: allow to ignore files from checks on double indexing.
[idea/community.git] / platform / lang-api / src / com / intellij / facet / FacetTypeRegistry.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 com.intellij.facet;
3
4 import com.intellij.openapi.application.ApplicationManager;
5 import org.jetbrains.annotations.NotNull;
6 import org.jetbrains.annotations.Nullable;
7
8 public abstract class FacetTypeRegistry {
9   public static FacetTypeRegistry getInstance() {
10     return ApplicationManager.getApplication().getService(FacetTypeRegistry.class);
11   }
12
13   /**
14    * @deprecated register {@code facetType} as an extension instead
15    */
16   @Deprecated
17   public abstract void registerFacetType(FacetType<?, ?> facetType);
18
19   /**
20    * @deprecated register {@code facetType} as an extension instead
21    */
22   @Deprecated
23   public abstract void unregisterFacetType(FacetType<?, ?> facetType);
24
25   public abstract FacetTypeId<?> @NotNull [] getFacetTypeIds();
26
27   public abstract FacetType<?, ?> @NotNull [] getFacetTypes();
28
29   public abstract FacetType<?, ?> @NotNull [] getSortedFacetTypes();
30
31   @Nullable
32   public abstract FacetType findFacetType(String id);
33
34   @NotNull
35   public abstract <F extends Facet<C>, C extends FacetConfiguration> FacetType<F, C> findFacetType(@NotNull FacetTypeId<F> typeId);
36 }