#42 extensions fetching updated

GitOrigin-RevId: 5b9d627639ca976b8acaf18b57f1460f74795307
This commit is contained in:
adelf
2019-09-16 20:57:12 +03:00
committed by intellij-monorepo-bot
parent 3dba85ad9f
commit ec7dd47042

View File

@@ -1,31 +1,27 @@
package ru.adelf.idea.dotenv.util;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
import org.jetbrains.annotations.NotNull;
import ru.adelf.idea.dotenv.api.EnvironmentVariablesProvider;
import ru.adelf.idea.dotenv.api.EnvironmentVariablesUsagesProvider;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class EnvironmentVariablesProviderUtil {
public static final Set<EnvironmentVariablesProvider> PROVIDERS = getEnvVariablesProviders();
public static final EnvironmentVariablesProvider[] PROVIDERS = getEnvVariablesProviders();
public static final Set<EnvironmentVariablesUsagesProvider> USAGES_PROVIDERS = getEnvVariablesUsagesProviders();
public static final EnvironmentVariablesUsagesProvider[] USAGES_PROVIDERS = getEnvVariablesUsagesProviders();
private static Set<EnvironmentVariablesProvider> getEnvVariablesProviders() {
Set<EnvironmentVariablesProvider> providers = new HashSet<>();
Collections.addAll(providers, Extensions.getExtensions("ru.adelf.idea.dotenv.environmentVariablesProvider", null) );
return providers;
private static EnvironmentVariablesProvider[] getEnvVariablesProviders() {
return getExtensions("ru.adelf.idea.dotenv.environmentVariablesProvider");
}
private static Set<EnvironmentVariablesUsagesProvider> getEnvVariablesUsagesProviders() {
Set<EnvironmentVariablesUsagesProvider> providers = new HashSet<>();
private static EnvironmentVariablesUsagesProvider[] getEnvVariablesUsagesProviders() {
return getExtensions("ru.adelf.idea.dotenv.environmentVariablesUsagesProvider");
}
Collections.addAll(providers, Extensions.getExtensions("ru.adelf.idea.dotenv.environmentVariablesUsagesProvider", null));
private static <T> T[] getExtensions(@NotNull String name) {
ExtensionPointName<T> pointName = new ExtensionPointName<>(name);
return providers;
return Extensions.getRootArea().getExtensionPoint(pointName).getExtensions();
}
}