All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.g42cloud.sdk.er.v3.region.ErRegion Maven / Gradle / Ivy

The newest version!
package com.g42cloud.sdk.er.v3.region;

import com.g42cloud.sdk.core.region.IRegionProvider;
import com.g42cloud.sdk.core.region.Region;
import com.g42cloud.sdk.core.region.RegionProviderChain;
import com.g42cloud.sdk.core.utils.StringUtils;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

public class ErRegion {

    public static final Region AE_AD_1 = new Region("ae-ad-1", "https://er.ae-ad-1.g42cloud.com");

    private static final IRegionProvider PROVIDER = RegionProviderChain.getDefaultRegionProviderChain("ER");

    private static final Map STATIC_FIELDS = createStaticFields();

    private static Map createStaticFields() {
        Map map = new HashMap<>();
        map.put("ae-ad-1", AE_AD_1);
        return Collections.unmodifiableMap(map);
    }

    public static Region valueOf(String regionId) {
        if (StringUtils.isEmpty(regionId)) {
            throw new IllegalArgumentException("Unexpected empty parameter: regionId.");
        }

        Region result = PROVIDER.getRegion(regionId);
        if (Objects.nonNull(result)) {
            return result;
        }

        result = STATIC_FIELDS.get(regionId);
        if (Objects.nonNull(result)) {
            return result;
        }
        throw new IllegalArgumentException("Unexpected regionId: " + regionId);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy