Example usage for com.google.common.collect ImmutableBiMap of

List of usage examples for com.google.common.collect ImmutableBiMap of

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableBiMap of.

Prototype

public static <K, V> ImmutableBiMap<K, V> of(K k1, V v1, K k2, V v2) 

Source Link

Usage

From source file:google.registry.tools.server.ListRegistrarsAction.java

@Override
public ImmutableBiMap<String, String> getFieldAliases() {
    return ImmutableBiMap.of("clientId", "clientIdentifier", "premiumNames", "blockPremiumNames");
}

From source file:com.android.tools.idea.structure.KeyValuePane.java

public KeyValuePane(@NotNull Project project, @NotNull ModificationListener listener) {
    myProject = project;//from   w ww.  j av a  2 s .co m
    myListener = listener;
    LocalSdk sdk = null;
    AndroidSdkData androidSdkData = AndroidSdkUtils.tryToChooseAndroidSdk();
    if (androidSdkData != null) {
        sdk = androidSdkData.getLocalSdk();
    }
    // Use immutable maps with builders for our built-in value maps because ImmutableBiMap ensures that iteration order is the same as
    // insertion order.
    ImmutableBiMap.Builder<String, String> buildToolsMapBuilder = ImmutableBiMap.builder();
    ImmutableBiMap.Builder<String, String> apisMapBuilder = ImmutableBiMap.builder();
    ImmutableBiMap.Builder<String, String> compiledApisMapBuilder = ImmutableBiMap.builder();

    if (sdk != null) {
        LocalPkgInfo[] buildToolsPackages = sdk.getPkgsInfos(PkgType.PKG_BUILD_TOOLS);
        for (LocalPkgInfo buildToolsPackage : buildToolsPackages) {
            if (!(buildToolsPackage instanceof LocalBuildToolPkgInfo)) {
                continue;
            }
            BuildToolInfo buildToolInfo = ((LocalBuildToolPkgInfo) buildToolsPackage).getBuildToolInfo();
            if (buildToolInfo == null) {
                continue;
            }
            String buildToolVersion = buildToolInfo.getRevision().toString();
            buildToolsMapBuilder.put(buildToolVersion, buildToolVersion);
        }
        for (IAndroidTarget target : sdk.getTargets()) {
            if (target.isPlatform()) {
                AndroidVersion version = target.getVersion();
                String codename = version.getCodename();
                String apiString, platformString;
                if (codename != null) {
                    apiString = codename;
                    platformString = AndroidTargetHash.getPlatformHashString(version);
                } else {
                    platformString = apiString = Integer.toString(version.getApiLevel());
                }
                String label = AndroidSdkUtils.getTargetLabel(target);
                apisMapBuilder.put(apiString, label);
                compiledApisMapBuilder.put(platformString, label);
            }
        }
    }

    BiMap<String, String> installedBuildTools = buildToolsMapBuilder.build();
    BiMap<String, String> installedApis = apisMapBuilder.build();
    BiMap<String, String> installedCompileApis = compiledApisMapBuilder.build();
    BiMap<String, String> javaCompatibility = ImmutableBiMap.of("JavaVersion.VERSION_1_6", "1.6",
            "JavaVersion.VERSION_1_7", "1.7");

    myKeysWithKnownValues = ImmutableMap.<BuildFileKey, BiMap<String, String>>builder()
            .put(BuildFileKey.MIN_SDK_VERSION, installedApis)
            .put(BuildFileKey.TARGET_SDK_VERSION, installedApis)
            .put(BuildFileKey.COMPILE_SDK_VERSION, installedCompileApis)
            .put(BuildFileKey.BUILD_TOOLS_VERSION, installedBuildTools)
            .put(BuildFileKey.SOURCE_COMPATIBILITY, javaCompatibility)
            .put(BuildFileKey.TARGET_COMPATIBILITY, javaCompatibility).build();
}